Class StringLength

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

    public class StringLength
    extends java.lang.Object
    Returns the number of characters in a string.
    Author:
    Marc Prud'hommeaux
    See Also:
    Serialized Form
    • Constructor Detail

      • StringLength

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

      • 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
      • 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 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
      • 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 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