Class BatchFetchPolicy

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.List<Expression> attributeExpressions
      Define the attributes to be batch fetched.
      protected java.util.List<java.lang.String> attributes
      PERF: Cache the local batch read attribute names.
      protected java.util.List<DatabaseMapping> batchedMappings
      Define the mapping to be batch fetched (from mapping settings).
      protected java.util.Map<java.lang.Object,​java.lang.Object> batchObjects
      Stores temporary map of batched objects (this queries results).
      protected java.util.Map<java.lang.Object,​java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord>> dataResults
      Stores temporary list of rows from parent batch query per batched mapping.
      protected java.util.Map<DatabaseMapping,​ReadQuery> mappingQueries
      PERF: Used internally to store the prepared mapping queries.
      protected int size
      Define the batch size for IN style batch fetching.
      protected BatchFetchType type
      Define the type of batch fetching to use.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addDataResults​(org.eclipse.persistence.internal.sessions.AbstractRecord row)
      INTERNAL: Add the row to the set of data results.
      BatchFetchPolicy clone()  
      java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> getAllDataResults()
      INTERNAL: Return temporary list of rows from parent batch query per batched mapping.
      java.util.List<Expression> getAttributeExpressions()
      INTERNAL: Return all attributes specified for batch reading.
      java.util.List<java.lang.String> getAttributes()
      INTERNAL: PERF: Return the cached local (only) batch read attribute names.
      java.util.List<DatabaseMapping> getBatchedMappings()
      INTERNAL: Return any mappings that are always batched.
      java.util.Map<java.lang.Object,​java.lang.Object> getBatchObjects()
      INTERNAL: Return temporary map of batched objects.
      java.util.Map<java.lang.Object,​java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord>> getDataResults()
      INTERNAL: Return temporary list of rows from parent batch query per batched mapping.
      java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> getDataResults​(DatabaseMapping mapping)
      INTERNAL: Return the remaining data results for the mapping.
      java.util.Map<DatabaseMapping,​ReadQuery> getMappingQueries()
      INTERNAL: PERF: Return the internally stored prepared mapping queries.
      int getSize()
      Return the batch fetch size.
      BatchFetchType getType()
      Return the batch fetch type, (JOIN, IN, EXISTS).
      boolean hasAttributes()
      INTERNAL: Return true is this query has batching
      boolean isAttributeBatchRead​(java.lang.String attributeName)
      INTERNAL: Return if the attribute is specified for batch reading.
      boolean isAttributeBatchRead​(ClassDescriptor mappingDescriptor, java.lang.String attributeName)
      INTERNAL: Return if the attribute is specified for batch reading.
      boolean isEXISTS()
      Return if using the EXISTS fetch type.
      boolean isIN()
      Return if using the IN fetch type.
      boolean isJOIN()
      Return if using the JOIN fetch type.
      void setAttributeExpressions​(java.util.List<Expression> attributeExpressions)  
      void setAttributes​(java.util.List<java.lang.String> attributes)
      INTERNAL: PERF: Set the cached local (only) batch read attribute names.
      void setBatchedMappings​(java.util.List<DatabaseMapping> batchedMappings)
      INTERNAL: Set any mappings that are always batched.
      void setBatchObjects​(java.util.Map<java.lang.Object,​java.lang.Object> batchObjects)
      INTERNAL: Set temporary map of batched objects.
      void setDataResults​(java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> rows)
      INTERNAL: Set the rows to the set of data results for each mapping.
      void setDataResults​(java.util.Map<java.lang.Object,​java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord>> dataResults)
      INTERNAL: Set temporary list of rows from parent batch query per batched mapping.
      void setDataResults​(DatabaseMapping mapping, java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> rows)
      INTERNAL: Set the remaining data results for the mapping.
      void setMappingQueries​(java.util.Map<DatabaseMapping,​ReadQuery> mappingQueries)
      INTERNAL: PERF: Set the internally stored prepared mapping queries.
      void setSize​(int size)
      Set the batch fetch size.
      void setType​(BatchFetchType type)
      Set the batch fetch type, (JOIN, IN, EXISTS).
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • type

        protected BatchFetchType type
        Define the type of batch fetching to use.
      • size

        protected int size
        Define the batch size for IN style batch fetching.
      • attributeExpressions

        protected java.util.List<Expression> attributeExpressions
        Define the attributes to be batch fetched.
      • batchedMappings

        protected java.util.List<DatabaseMapping> batchedMappings
        Define the mapping to be batch fetched (from mapping settings).
      • mappingQueries

        protected transient java.util.Map<DatabaseMapping,​ReadQuery> mappingQueries
        PERF: Used internally to store the prepared mapping queries.
      • attributes

        protected java.util.List<java.lang.String> attributes
        PERF: Cache the local batch read attribute names.
      • dataResults

        protected transient java.util.Map<java.lang.Object,​java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord>> dataResults
        Stores temporary list of rows from parent batch query per batched mapping.
      • batchObjects

        protected transient java.util.Map<java.lang.Object,​java.lang.Object> batchObjects
        Stores temporary map of batched objects (this queries results).
    • Constructor Detail

      • BatchFetchPolicy

        public BatchFetchPolicy()
    • Method Detail

      • clone

        public BatchFetchPolicy clone()
        Overrides:
        clone in class java.lang.Object
      • isIN

        public boolean isIN()
        Return if using the IN fetch type.
      • isJOIN

        public boolean isJOIN()
        Return if using the JOIN fetch type.
      • isEXISTS

        public boolean isEXISTS()
        Return if using the EXISTS fetch type.
      • getType

        public BatchFetchType getType()
        Return the batch fetch type, (JOIN, IN, EXISTS).
      • setType

        public void setType​(BatchFetchType type)
        Set the batch fetch type, (JOIN, IN, EXISTS).
      • getSize

        public int getSize()
        Return the batch fetch size.
      • setSize

        public void setSize​(int size)
        Set the batch fetch size.
      • getMappingQueries

        public java.util.Map<DatabaseMapping,​ReadQuery> getMappingQueries()
        INTERNAL: PERF: Return the internally stored prepared mapping queries.
      • setMappingQueries

        public void setMappingQueries​(java.util.Map<DatabaseMapping,​ReadQuery> mappingQueries)
        INTERNAL: PERF: Set the internally stored prepared mapping queries.
      • getAttributes

        public java.util.List<java.lang.String> getAttributes()
        INTERNAL: PERF: Return the cached local (only) batch read attribute names.
      • setAttributes

        public void setAttributes​(java.util.List<java.lang.String> attributes)
        INTERNAL: PERF: Set the cached local (only) batch read attribute names.
      • setAttributeExpressions

        public void setAttributeExpressions​(java.util.List<Expression> attributeExpressions)
      • getAttributeExpressions

        public java.util.List<Expression> getAttributeExpressions()
        INTERNAL: Return all attributes specified for batch reading.
      • hasAttributes

        public boolean hasAttributes()
        INTERNAL: Return true is this query has batching
      • getBatchedMappings

        public java.util.List<DatabaseMapping> getBatchedMappings()
        INTERNAL: Return any mappings that are always batched.
      • setBatchedMappings

        public void setBatchedMappings​(java.util.List<DatabaseMapping> batchedMappings)
        INTERNAL: Set any mappings that are always batched.
      • isAttributeBatchRead

        public boolean isAttributeBatchRead​(java.lang.String attributeName)
        INTERNAL: Return if the attribute is specified for batch reading.
      • isAttributeBatchRead

        public boolean isAttributeBatchRead​(ClassDescriptor mappingDescriptor,
                                            java.lang.String attributeName)
        INTERNAL: Return if the attribute is specified for batch reading.
      • addDataResults

        public void addDataResults​(org.eclipse.persistence.internal.sessions.AbstractRecord row)
        INTERNAL: Add the row to the set of data results. This is used for IN batching in batches.
      • getDataResults

        public java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> getDataResults​(DatabaseMapping mapping)
        INTERNAL: Return the remaining data results for the mapping. This is used for IN batching in batches.
      • setDataResults

        public void setDataResults​(DatabaseMapping mapping,
                                   java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> rows)
        INTERNAL: Set the remaining data results for the mapping. This is used for IN batching in batches.
      • setDataResults

        public void setDataResults​(java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> rows)
        INTERNAL: Set the rows to the set of data results for each mapping. This is used for IN batching in batches.
      • getAllDataResults

        public java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord> getAllDataResults()
        INTERNAL: Return temporary list of rows from parent batch query per batched mapping. This is used for IN batching in batches.
      • getDataResults

        public java.util.Map<java.lang.Object,​java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord>> getDataResults()
        INTERNAL: Return temporary list of rows from parent batch query per batched mapping. This is used for IN batching in batches.
      • setDataResults

        public void setDataResults​(java.util.Map<java.lang.Object,​java.util.List<org.eclipse.persistence.internal.sessions.AbstractRecord>> dataResults)
        INTERNAL: Set temporary list of rows from parent batch query per batched mapping. This is used for IN batching in batches.
      • getBatchObjects

        public java.util.Map<java.lang.Object,​java.lang.Object> getBatchObjects()
        INTERNAL: Return temporary map of batched objects.
      • setBatchObjects

        public void setBatchObjects​(java.util.Map<java.lang.Object,​java.lang.Object> batchObjects)
        INTERNAL: Set temporary map of batched objects.