//protected FromItem clone() //{ // FromItem f = new FromItem(); // f._alias = _alias; // f._join = _join; // f._table = _table; // f._expression = _expression; // if (_subQuery != null) // { // f._subQuery = _subQuery.clone(); // } // if (_leftOn != null && _leftSide != null && _rightOn != null && _rightSide != null) // { // f._leftSide = _leftSide.clone(); // f._leftOn = _leftOn.clone(); // f._rightSide = _rightSide.clone(); // f._rightOn = _rightOn.clone(); // } // return f; //} // clone() protected override void decorateIdentity(CsList <Object> identifiers) { identifiers.add(_table); identifiers.add(_alias); identifiers.add(_subQuery); identifiers.add(_join); identifiers.add(_leftSide); identifiers.add(_rightSide); identifiers.add(_leftOn); identifiers.add(_rightOn); identifiers.add(_expression); } // decorateIdentity()
} // constructor /** * Subclasses should implement this method and add all fields to the list * that are to be included in equals(...) and hashCode() evaluation * * @param identifiers */ protected override void decorateIdentity(CsList <Object> identifiers) { identifiers.add(_expression); identifiers.add(_alias); identifiers.add(_column); identifiers.add(_function); identifiers.add(_functionApproximationAllowed); if (_fromItem == null && _column != null && _column.getTable() != null) { // add a FromItem representing the column's table - this makes equal // comparison work when the only difference is whether or not // FromItem is specified identifiers.add(new FromItem(_column.getTable())); } else { identifiers.add(_fromItem); } identifiers.add(_subQuerySelectItem); } // decorateIdentity()