Class PCPath

    • Constructor Detail

      • PCPath

        public PCPath​(ClassMapping type)
        Return a path starting with the 'this' ptr.
      • PCPath

        public PCPath​(ClassMapping candidate,
                      org.apache.openjpa.jdbc.kernel.exps.Variable var)
        Return a path starting from the given variable.
      • PCPath

        public PCPath​(SubQ sub)
        Return a path starting from the given subquery.
    • Method Detail

      • setSchemaAlias

        public void setSchemaAlias​(String schemaAlias)
        Description copied from interface: Path
        Set the schema alias (the identification variable) this path is begin with.
        Specified by:
        setSchemaAlias in interface Path
        Overrides:
        setSchemaAlias in class CandidatePath
      • addVariableAction

        public void addVariableAction​(org.apache.openjpa.jdbc.kernel.exps.Variable var)
        Set the path as a binding of the given variable.
      • isUnaccessedVariable

        public boolean isUnaccessedVariable()
        Return true if this is a bound variable that has not been accessed after binding. Useful for filters like "coll.contains (var) && var == null", which should really just act like "coll.contains (null)".
      • isVariablePath

        public boolean isVariablePath()
        Return whether this is a path involving a variable.
      • setContainsId

        public void setContainsId​(String id)
        If this path is part of a contains clause, then alias it to the proper contains id before initialization.
      • isKey

        public boolean isKey()
      • isXPath

        public boolean isXPath()
        Description copied from interface: Value
        Return true if this value is an XML Path.
        Specified by:
        isXPath in interface Value
        Overrides:
        isXPath in class Val
      • getXPath

        public String getXPath()
      • getPCPathString

        public String getPCPathString()
      • isVariable

        public boolean isVariable()
        Description copied from interface: Value
        Return true if this value is a variable.
        Specified by:
        isVariable in interface Value
        Overrides:
        isVariable in class Val
      • get

        public void get​(FieldMetaData field,
                        boolean nullTraversal)
        Description copied from class: CandidatePath
        Traverse into the given field of the current object, and update the current object to that field value.
        Specified by:
        get in interface Path
        Overrides:
        get in class CandidatePath
        nullTraversal - if true, allow traversal through a null field
      • get

        public void get​(FieldMetaData fmd,
                        XMLMetaData meta)
        Description copied from interface: Path
        Traverse into the given field that maps to xml column, and update the current object to that field value.
        Specified by:
        get in interface Path
        Overrides:
        get in class CandidatePath
        Parameters:
        fmd - field maps to xml column
        meta - associated xml mapping
      • get

        public void get​(XMLMetaData meta,
                        String name)
        Description copied from interface: Path
        Traverse into the gevin xpath name of the current object, and update the current object to that xpath field.
        Specified by:
        get in interface Path
        Overrides:
        get in class CandidatePath
      • getKey

        public void getKey()
      • last

        public FieldMetaData last()
        Description copied from interface: Path
        Return the last field in the path, or null if the path does not not contain a final field.
        Specified by:
        last in interface Path
        Overrides:
        last in class CandidatePath
      • 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
        Overrides:
        getType in class CandidatePath
      • 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.
        Specified by:
        initialize in interface Val
      • select

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

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

        public void orderBy​(Select sel,
                            ExpContext ctx,
                            ExpState state,
                            boolean asc)
        Description copied from interface: Val
        Order by this value.
        Specified by:
        orderBy 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.
        Specified by:
        calculateValue in interface Val
        other - the value being compared to, or null if not a comparison
      • verifyIndexedField

        public void verifyIndexedField()
      • length

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

        public boolean isSubqueryPath()
      • getId

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