1 16 package org.outerj.daisy.query.model; 17 18 import org.outerj.daisy.query.QueryContext; 19 import org.outerj.daisy.repository.query.QueryException; 20 21 import java.util.ArrayList ; 22 import java.util.Iterator ; 23 24 public abstract class AbstractMultiArgPredicate extends AbstractPredicateExpr { 25 protected final Identifier identifier; 26 protected final ArrayList literals = new ArrayList (); 27 protected QValueType valueType; 28 29 public AbstractMultiArgPredicate(Identifier identifier) { 30 this.identifier = identifier; 31 } 32 33 public void add(Literal literal) { 34 literals.add(literal); 35 } 36 37 public void prepare(QueryContext context) throws QueryException { 38 identifier.prepare(context); 39 valueType = identifier.getValueType() != QValueType.UNDEFINED ? identifier.getValueType() : QValueType.STRING; 40 41 Iterator literalsIt = literals.iterator(); 42 while (literalsIt.hasNext()) { 43 Literal literal = (Literal)literalsIt.next(); 44 literal.prepare(context); 45 } 46 } 47 } 48 | Popular Tags |