package gw.rating.rtm.util uses gw.rating.flow.util.InScopeUsage class AvailableAttributePresenter { var _root : CalcRoutineParamName as readonly Root var _path : String as readonly Path var _mod : Boolean as readonly IsModifier var _label : String as readonly Label construct(r : CalcRoutineParamName, p : String, m : boolean, l : String) { _root = r _path = p _mod = m _label = l } construct(r : String, p : String, m : boolean, l : String) { this(CalcRoutineParamName.get(r), p, m, l) } construct(u : InScopeUsage) { this(u.Root, u.Path, u.IsModifier, u.DisplayName) } property get RootWithPath() : String { return ((Root != null) ? "${Root.DisplayName}" : "") + ( Path.length == 0 ? "" : "."+ Path) } override function toString() : String { return IsModifier ? "${Root}.${Path} (modifier)" : "${Root}.${Path}" } override function equals(o : java.lang.Object) : boolean { if (this === o) { return true } if (not (o typeis AvailableAttributePresenter)) { return false } var that = o as AvailableAttributePresenter return that._root == this._root and that._path == this._path and that._mod == this._mod } override function hashCode() : int { var result = 17 result = 31 * result + (Root != null ? Root.hashCode() : 0) result = 31 * result + (Path != null ? Path.hashCode() : 0) result = 31 * result + (IsModifier != null ? IsModifier.hashCode() : 0) return result } }