Class NullableAggregateUnaryOp

java.lang.Object
org.apache.openjpa.jdbc.kernel.exps.NullableAggregateUnaryOp
All Implemented Interfaces:
Serializable, Val, Value

public abstract class NullableAggregateUnaryOp extends Object
OPENJPA-1794 An aggregate unary operation that can indicate whether a null value from the data store should be returned as null.
See Also:
  • Field Details

  • Constructor Details

    • NullableAggregateUnaryOp

      public NullableAggregateUnaryOp(Val val)
    • NullableAggregateUnaryOp

      public NullableAggregateUnaryOp(Val val, boolean noParen)
  • Method Details

    • nullableValue

      protected boolean nullableValue(ExpContext ctx, ExpState state)
    • getValue

      public Val getValue()
    • getMetaData

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

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

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

      public void setImplicitType(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().
    • getNoParen

      public boolean getNoParen()
    • 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.
    • initializeValue

      protected ExpState initializeValue(Select sel, ExpContext ctx, int flags)
    • select

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

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

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

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

      public Object load(ExpContext ctx, ExpState state, Result res) throws SQLException
      Description copied from interface: Val
      Load the data for this value.
      Throws:
      SQLException
    • 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
    • length

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

      protected Class getType(Class c)
      Return the type of this value based on the argument type. Returns the argument type by default.
    • getOperator

      protected abstract String getOperator()
      Return the name of this operator.
    • acceptVisit

      public void acceptVisit(ExpressionVisitor visitor)
      Description copied from interface: Value
      Accept a visit from a tree visitor.
      Specified by:
      acceptVisit in interface Value
    • 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 Object toDataStoreValue(Select sel, ExpContext ctx, ExpState state, 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
    • appendIndex

      public void appendIndex(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
      Description copied from interface: Val
      Append the SQL checking the index of this value.
      Specified by:
      appendIndex in interface Val
    • appendType

      public void appendType(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
      Description copied from interface: Val
      Append the SQL checking the type of this value.
      Specified by:
      appendType in interface Val
    • appendSize

      public void appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)
      Description copied from interface: Val
      Append the SQL checking the size of this value.
      Specified by:
      appendSize in interface Val
    • getId

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

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

      public void setAlias(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
    • getPath

      public Path getPath()
      Specified by:
      getPath in interface Value
    • getName

      public String getName()
      Specified by:
      getName in interface Value