Class GeneralCaseExpression

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

    public class GeneralCaseExpression
    extends java.lang.Object
    General case expression.
    Author:
    Catalina Wei
    See Also:
    Serialized Form
    • Constructor Detail

      • GeneralCaseExpression

        public GeneralCaseExpression​(org.apache.openjpa.jdbc.kernel.exps.Exp[] exp,
                                     Val val)
        Constructor.
    • Method Detail

      • getExp

        public org.apache.openjpa.jdbc.kernel.exps.Exp[] getExp()
      • getVal

        public Val getVal()
      • 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.
      • 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.
      • appendTo

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

        public void selectColumns​(Select sel,
                                  ExpContext ctx,
                                  ExpState state,
                                  boolean pks)
        Description copied from interface: Val
        Select just the columns for this value.
      • 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
      • 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.
        other - the value being compared to, or null if not a comparison
      • groupBy

        public void groupBy​(Select sel,
                            ExpContext ctx,
                            ExpState state)
        Description copied from interface: Val
        Group by this value.
      • length

        public int length​(Select sel,
                          ExpContext ctx,
                          ExpState state)
        Description copied from interface: Val
        Return the number of SQL elements in this value.
      • 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.
        Throws:
        java.sql.SQLException
      • orderBy

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

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

        public ClassMetaData getMetaData()
        Description copied from interface: Value
        Return any associated persistent type.
      • 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().
      • setMetaData

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

        public void setOtherPath​(Value other)
      • getOtherPath

        public Value getOtherPath()
      • setOtherState

        public void setOtherState​(ExpState otherState)
      • getOtherState

        public ExpState getOtherState()
      • 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
      • 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
      • 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