Class FromSubSelectExpression

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class FromSubSelectExpression
    extends TableExpression
    Allow a table expression to be created on a sub-select to define a sub-select in the from clause.
    See Also:
    Serialized Form
    • Field Detail

      • subSelect

        protected SubSelectExpression subSelect
        Allows a sub-select to be defined from clause.
    • Constructor Detail

      • FromSubSelectExpression

        public FromSubSelectExpression()
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object object)
        INTERNAL: Return if the expression is equal to the other. This is used to allow dynamic expression's SQL to be cached. From sub-selects are too complex to cache, so use identity.
        Overrides:
        equals in class TableExpression
      • computeHashCode

        public int computeHashCode()
        INTERNAL: Compute a consistent hash-code for the expression.
        Overrides:
        computeHashCode in class TableExpression
      • get

        public Expression get​(java.lang.String alias)
        This is used by sub-selects in the from clause to define a virtual table, 'get' allows one of the sub-selected attributes to be aliased without using the field name.
        Overrides:
        get in class Expression
      • postCopyIn

        protected void postCopyIn​(java.util.Map alreadyDone)
        INTERNAL: Also copy over the sub-select if present.
        Overrides:
        postCopyIn in class DataExpression
      • twistedForBaseAndContext

        public Expression twistedForBaseAndContext​(Expression newBase,
                                                   Expression context,
                                                   Expression oldBase)
        INTERNAL: Rebuild myself against the base, with the values of parameters supplied by the context expression. This is used for transforming a standalone expression (e.g. the join criteria of a mapping) into part of some larger expression. You normally would not call this directly, instead calling twist See the comment there for more details"
        Overrides:
        twistedForBaseAndContext in class TableExpression
      • writeDescriptionOn

        public void writeDescriptionOn​(java.io.BufferedWriter writer)
                                throws java.io.IOException
        INTERNAL: Used to print a debug form of the expression tree.
        Overrides:
        writeDescriptionOn in class TableExpression
        Throws:
        java.io.IOException