Interface ApiRestEntityFactory

All Known Implementing Classes:
DefaultApiRestEntityFactory

public interface ApiRestEntityFactory
Factory for producing REST entities for serialization to Json, and entity property enrichment.

The produced REST entities should be serialized using an ObjectMapper produced by

invalid reference
com.atlassian.confluence.rest.serialization.CustomSerializerModuleFactory

Since:
6.12.0
  • Method Details

    • buildRestEntityFrom

      RestEntity<Content> buildRestEntityFrom(ContentEntityObject entity, Expansions expansions)
      Build a REST API entity from a ContentEntityObject.

      Parameters:
      entity - The entity object
      expansions - The expansions to apply to the returned data
      Returns:
      The REST API entity
    • buildRestEntityFrom

      RestEntity<Space> buildRestEntityFrom(Space space, Expansions expansions)
      Build a REST API entity from a hibernate Space object.

      Parameters:
      expansions - The expansions to apply to the returned data
      entity - The entity object
      Returns:
      The REST API entity
    • buildRestEntityFromContent

      Iterable<RestEntity> buildRestEntityFromContent(Iterable<? extends ContentEntityObject> entities, Expansions expansions)
      Build a list of REST API entity objects from ContentEntityObject objects.

      Parameters:
      expansions - The expansions to apply to the returned data
      entity - The entity objects
      Returns:
      The REST API entity list
    • buildRestEntityFromSpaces

      Iterable<RestEntity> buildRestEntityFromSpaces(Iterable<Space> spaces, Expansions expansions)
      Build a list of REST API entity objects from hibernate Space objects.

      Parameters:
      expansions - The expansions to apply to the returned data
      entity - The entity objects
      Returns:
      The REST API entity list
    • isEnrichableList

      boolean isEnrichableList(Class listType)
      Get whether an object type can be enriched using a RestList.
    • isEnrichableEntity

      boolean isEnrichableEntity(Class entityType)
      Get whether an object type can be enriched using a RestEntity.
    • getEnrichedPropertyTypes

      @NonNull Map<String,Type> getEnrichedPropertyTypes(Type type, boolean root)
      Get the types of the properties that may possibly be provided by the enrichers. This is used to populate the graph-ql schema.
      Parameters:
      type - The type of the object being enriched
      Returns:
      A map of property names to property types
    • convertAndEnrich

      Object convertAndEnrich(Object entity, ApiRestEntityFactory.SchemaType schemaType)
      Converts the given entity into a RestEntity if the entity has the RestEnrichable annotation or is a PageResponse that contains RestEnrichable entities.
      Parameters:
      entity - the entity to enrich
      schemaType - rest or graphql
      Returns:
      a converted rest entity or the entity that was given