Class StringLength

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

public class StringLength extends Object
Returns the number of characters in a string.
Author:
Marc Prud'hommeaux
See Also:
  • Field Details

  • Constructor Details

    • StringLength

      public StringLength(Val val)
      Constructor. Provide the string to operate on.
  • Method Details

    • getType

      public 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(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
    • 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.
    • getId

      public int getId()
      Specified by:
      getId in interface Val
    • 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.
    • 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.
    • 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.
    • 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
    • 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