/** * Add to list of values to be tested against. * @param value value * @return in predicate */ public In<T> value(T value){ ((Collection)((CollectionExpression)((RelationExpression)this.currentNode).getSecondChild()).getValue()).add(value); return this; }
/** * INTERNAL: * Return the value for in memory comparison. * This is only valid for valueable expressions. */ public Object valueFromObject(Object object, AbstractSession session, AbstractRecord translationRow, int valueHolderPolicy, boolean isObjectUnregistered) { if (value instanceof Collection) { Collection values = (Collection)value; Vector fieldValues = new Vector(values.size()); for (Iterator iterator = values.iterator(); iterator.hasNext();) { Object value = iterator.next(); if (value instanceof Expression){ value = ((Expression)value).valueFromObject(object, session, translationRow, valueHolderPolicy, isObjectUnregistered); }else{ value = getLocalBase().getFieldValue(value, session); } fieldValues.add(value); } return fieldValues; } return getLocalBase().getFieldValue(getValue(), session); }
/** * INTERNAL: * Return the value for in memory comparison. * This is only valid for valueable expressions. */ public Object valueFromObject(Object object, AbstractSession session, AbstractRecord translationRow, int valueHolderPolicy, boolean isObjectUnregistered) { if (value instanceof Collection) { Collection values = (Collection)value; Vector fieldValues = new Vector(values.size()); for (Iterator iterator = values.iterator(); iterator.hasNext();) { Object value = iterator.next(); if (value instanceof Expression){ value = ((Expression)value).valueFromObject(object, session, translationRow, valueHolderPolicy, isObjectUnregistered); }else{ value = getLocalBase().getFieldValue(value, session); } fieldValues.add(value); } return fieldValues; } return getLocalBase().getFieldValue(getValue(), session); }
public void printSQL(ExpressionSQLPrinter printer) { Object value = getLocalBase().getFieldValue(getValue(), getSession()); printer.printList((Collection)value); }
public void printSQL(ExpressionSQLPrinter printer) { Object value = getLocalBase().getFieldValue(getValue(), getSession()); printer.printList((Collection)value); }
RelationExpression baseIn = (RelationExpression) this.currentNode; ((InternalSelection) value).getCurrentNode().setLocalBase(baseIn.getFirstChild()); ((Collection) ((CollectionExpression) baseIn.getSecondChild()).getValue()).add(((InternalSelection) value).getCurrentNode()); } else { throw new IllegalStateException(ExceptionLocalization.buildMessage("CANNOT_ADD_CONSTANTS_TO_SUBQUERY_IN"));