Class CollectionParam

  • All Implemented Interfaces:
    java.io.Serializable, Val, Constant, Parameter, Value

    public class CollectionParam
    extends java.lang.Object
    implements Parameter
    A collection-valued input parameter in an in-expression.
    Author:
    Catalina Wei
    See Also:
    Serialized Form
    • Constructor Detail

      • CollectionParam

        public CollectionParam​(java.lang.Object key,
                               java.lang.Class type)
        Constructor. Supply parameter name and type.
    • Method Detail

      • clone

        public CollectionParam clone()
        Overrides:
        clone in class java.lang.Object
      • getParameterKey

        public java.lang.Object getParameterKey()
        Description copied from interface: Parameter
        Returns the key of the parameter.
        Specified by:
        getParameterKey in interface Parameter
      • getType

        public java.lang.Class getType()
        Description copied from interface: Value
        Return the expected type for this value, or Object if the type is unknown.
        Specified by:
        getType in interface Value
      • setImplicitType

        public void setImplicitType​(java.lang.Class type)
        Description copied from interface: Value
        Set the implicit type of the value, based on how it is used in the filter. This method is only called on values who return Object from Value.getType().
        Specified by:
        setImplicitType in interface Value
      • getIndex

        public int getIndex()
      • setIndex

        public void setIndex​(int idx)
        Description copied from interface: Parameter
        Set the index of this parameter.
        Specified by:
        setIndex in interface Parameter
      • getValue

        public java.lang.Object getValue​(java.lang.Object[] params)
        Description copied from interface: Constant
        Return the value for this constant given the specified parameters.
        Specified by:
        getValue in interface Constant
      • getValue

        public java.lang.Object getValue​(ExpContext ctx,
                                         ExpState state)
        Return the value of this constant. May be more robust than the parameters-only form.
      • getSQLValue

        public java.lang.Object getSQLValue​(Select sel,
                                            ExpContext ctx,
                                            ExpState state)
        Return the SQL value of this constant.
      • initialize

        public ExpState initialize​(Select sel,
                                   ExpContext ctx,
                                   int flags)
        Description copied from interface: Val
        Initialize the value. This method should recursively initialize any sub-values.
        Specified by:
        initialize in interface Val
      • calculateValue

        public void calculateValue​(Select sel,
                                   ExpContext ctx,
                                   ExpState state,
                                   Val other,
                                   ExpState otherState)
        Description copied from interface: Val
        Calculate and cache the SQL for this value. This method is called before length or any append methods.
        Specified by:
        calculateValue in interface Val
        other - the value being compared to, or null if not a comparison
      • appendTo

        public void appendTo​(Select sel,
                             ExpContext ctx,
                             ExpState state,
                             SQLBuffer sql,
                             int index)
        Description copied from interface: Val
        Append the indexth SQL element to the given buffer.
        Specified by:
        appendTo in interface Val
      • getMetaData

        public ClassMetaData getMetaData()
        Description copied from interface: Value
        Return any associated persistent type.
        Specified by:
        getMetaData in interface Value
      • setMetaData

        public void setMetaData​(ClassMetaData meta)
        Description copied from interface: Value
        Associate a persistent type with this value.
        Specified by:
        setMetaData in interface Value
      • isSQLValueNull

        public boolean isSQLValueNull​(Select sel,
                                      ExpContext ctx,
                                      ExpState state)
        Return true if this constant's SQL value is equivalent to NULL.
      • select

        public void select​(Select sel,
                           ExpContext ctx,
                           ExpState state,
                           boolean pks)
        Description copied from interface: Val
        Select the data for this value.
        Specified by:
        select in interface Val
      • selectColumns

        public void selectColumns​(Select sel,
                                  ExpContext ctx,
                                  ExpState state,
                                  boolean pks)
        Description copied from interface: Val
        Select just the columns for this value.
        Specified by:
        selectColumns in interface Val
      • orderBy

        public void orderBy​(Select sel,
                            ExpContext ctx,
                            ExpState state,
                            boolean asc)
        Description copied from interface: Val
        Order by this value.
        Specified by:
        orderBy in interface Val
      • load

        public java.lang.Object load​(ExpContext ctx,
                                     ExpState state,
                                     Result res)
                              throws java.sql.SQLException
        Description copied from interface: Val
        Load the data for this value.
        Specified by:
        load in interface Val
        Throws:
        java.sql.SQLException
      • length

        public int length​(Select sel,
                          ExpContext ctx,
                          ExpState state)
        Description copied from interface: Val
        Return the number of SQL elements in this value.
        Specified by:
        length in interface Val
      • appendIsEmpty

        public void appendIsEmpty​(Select sel,
                                  ExpContext ctx,
                                  ExpState state,
                                  SQLBuffer sql)
        Description copied from interface: Val
        Append the SQL testing whether this value is empty to the given buffer.
        Specified by:
        appendIsEmpty in interface Val
      • appendIsNotEmpty

        public void appendIsNotEmpty​(Select sel,
                                     ExpContext ctx,
                                     ExpState state,
                                     SQLBuffer sql)
        Description copied from interface: Val
        Append the SQL testing whether this value is not empty to the given buffer.
        Specified by:
        appendIsNotEmpty in interface Val
      • appendIsNull

        public void appendIsNull​(Select sel,
                                 ExpContext ctx,
                                 ExpState state,
                                 SQLBuffer sql)
        Description copied from interface: Val
        Append the SQL testing whether this value is null to the given buffer.
        Specified by:
        appendIsNull in interface Val
      • appendIsNotNull

        public void appendIsNotNull​(Select sel,
                                    ExpContext ctx,
                                    ExpState state,
                                    SQLBuffer sql)
        Description copied from interface: Val
        Append the SQL testing whether this value is not null to the given buffer.
        Specified by:
        appendIsNotNull in interface Val
      • isVariable

        public boolean isVariable()
        Description copied from interface: Value
        Return true if this value is a variable.
        Specified by:
        isVariable in interface Value
      • isAggregate

        public boolean isAggregate()
        Description copied from interface: Value
        Return true if this value is an aggregate.
        Specified by:
        isAggregate in interface Value
      • isXPath

        public boolean isXPath()
        Description copied from interface: Value
        Return true if this value is an XML Path.
        Specified by:
        isXPath in interface Value
      • toDataStoreValue

        public java.lang.Object toDataStoreValue​(Select sel,
                                                 ExpContext ctx,
                                                 ExpState state,
                                                 java.lang.Object val)
        Description copied from interface: Val
        Return the datastore value of the given object in the context of this value.
        Specified by:
        toDataStoreValue in interface Val
      • acceptVisit

        public void acceptVisit​(ExpressionVisitor visitor)
        Description copied from interface: Value
        Accept a visit from a tree visitor.
        Specified by:
        acceptVisit in interface Value
      • getId

        public int getId()
        Specified by:
        getId in interface Val
      • getAlias

        public java.lang.String getAlias()
        Description copied from interface: Value
        Return select item alias
        Specified by:
        getAlias in interface Value
      • setAlias

        public void setAlias​(java.lang.String alias)
        Description copied from interface: Value
        Set select item alias
        Specified by:
        setAlias in interface Value
      • getSelectAs

        public Value getSelectAs()
        Description copied from interface: Value
        Return 'this' concrete class if alias is set, otherwise null
        Specified by:
        getSelectAs in interface Val
        Specified by:
        getSelectAs in interface Value
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface Value