Interface Fetch

All Superinterfaces:
DomainResultGraphNode
All Known Subinterfaces:
BiDirectionalFetch, EntityFetch
All Known Implementing Classes:
BasicFetch

@Incubating(since="6.0", group="result-processing") @SPI({USE,IMPLEMENT,SUPPLY}) public interface Fetch extends DomainResultGraphNode
Contract for fetches including entity, collection and composite. Acts as the producer for the DomainResultAssembler for this result as well as any Initializer instances needed
See Also:
  • Method Details

    • getNavigablePath

      NavigablePath getNavigablePath()
      Get the property path to this fetch
      Specified by:
      getNavigablePath in interface DomainResultGraphNode
      Returns:
      The property path
    • getFetchParent

      FetchParent getFetchParent()
      Obtain the owner of this fetch. Ultimately used to identify the thing that "owns" this fetched navigable for the purpose of:

      * identifying the associated owner reference as we process the fetch * inject the fetched instance into the parent and potentially inject the parent reference into the fetched instance if it defines such injection (e.g. Parent)

    • asFetchParent

      default FetchParent asFetchParent()
      Utility method to avoid instanceof checks. Returns this if it's an instance of FetchParent, null otherwise.
    • getFetchedMapping

      Fetchable getFetchedMapping()
      The value mapping being fetched
    • getTiming

      FetchTiming getTiming()
      immediate or delayed? todo (6.0) : should we also expose the fetch-style? Perhaps the fetch-options?
    • hasTableGroup

      boolean hasTableGroup()
      Is the TableGroup associated with this Fetch defined?
    • isCollectionFetch

      default boolean isCollectionFetch()

      Whether this fetch represents an eagerly fetched collection.

      Provider implementations which model an eager collection fetch must override this method so fetch-list collection accounting remains correct.

      Since:
      8.0
    • containsAnyNonScalarResults

      default boolean containsAnyNonScalarResults()
      Description copied from interface: DomainResultGraphNode
      Does this node contain any non-scalar (sub-)results?
      Specified by:
      containsAnyNonScalarResults in interface DomainResultGraphNode
    • createAssembler

      @SPI(SUPPLY) DomainResultAssembler<?> createAssembler(InitializerParent<?> parent, AssemblerCreationState creationState)
      Create the assembler for this fetch
      See Also: