org.qi4j.spi

## Interface Qi4jSPI

- All Superinterfaces:
    Qi4j

      public interface Qi4jSPI
      extends Qi4j

  Encapsulation of the Zest SPI. This is implemented by the runtime.

- - ### Field Summary

    - ### Fields inherited from interface org.qi4j.api.Qi4j

      `FUNCTION_COMPOSITE_INSTANCE_OF, FUNCTION_DESCRIPTOR_FOR`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `EntityReference` | `entityReferenceOf(Association assoc)` Fetches the EntityReference without loading the referenced entity.
    `Iterable<EntityReference>` | `entityReferenceOf(ManyAssociation assoc)` Fetches the EntityReferences without loading the referenced entities.
    `Iterable<Map.Entry<String,EntityReference>>` | `entityReferenceOf(NamedAssociation assoc)` Fetches the EntityReferences without loading the referenced entities.
    `EntityState` | `entityStateOf(EntityComposite composite)`
    `AssociationStateHolder` | `stateOf(EntityComposite composite)`
    `StateHolder` | `stateOf(TransientComposite composite)`
    `AssociationStateHolder` | `stateOf(ValueComposite composite)`

    - ### Methods inherited from interface org.qi4j.api.Qi4j

      `associationDescriptorFor, compositeDescriptorFor, dereference, entityDescriptorFor, modelDescriptorFor, moduleOf, propertyDescriptorFor, serviceDescriptorFor, transientDescriptorFor, valueDescriptorFor`

- - ### Method Detail

    - #### stateOf

          StateHolder stateOf(TransientComposite composite)

    - #### stateOf

          AssociationStateHolder stateOf(EntityComposite composite)

    - #### stateOf

          AssociationStateHolder stateOf(ValueComposite composite)

    - #### entityStateOf

          EntityState entityStateOf(EntityComposite composite)

    - #### entityReferenceOf

          EntityReference entityReferenceOf(Association assoc)

      Fetches the EntityReference without loading the referenced entity.
      Parameters:
        `assoc` - The Association for which we want to obtain the EntityReference
      Returns:
        The EntityReference of the given Association.

    - #### entityReferenceOf

          Iterable<EntityReference> entityReferenceOf(ManyAssociation assoc)

      Fetches the EntityReferences without loading the referenced entities.
      Parameters:
        `assoc` - The ManyAssociation for which we want to obtain the EntityReferences.
      Returns:
        An Iteranble of all the EntityReferences of the given ManyAssociation.

    - #### entityReferenceOf

          Iterable<Map.Entry<String,EntityReference>> entityReferenceOf(NamedAssociation assoc)

      Fetches the EntityReferences without loading the referenced entities.
      Parameters:
        `assoc` - The NamedAssociation for which we want to obtain the EntityReference
      Returns:
        An Iteranble of Map.Entry with the name and EntityReference of the given NamedAssociation.