Class RestrictedTypesObjectTypeReferenceHandler

java.lang.Object
org.mule.runtime.extension.internal.persistence.RestrictedTypesObjectTypeReferenceHandler
All Implemented Interfaces:
org.mule.metadata.persistence.ObjectTypeReferenceHandler

public final class RestrictedTypesObjectTypeReferenceHandler extends Object implements org.mule.metadata.persistence.ObjectTypeReferenceHandler
Implementation of ObjectTypeReferenceHandler which only uses references for the ObjectType present in the ExtensionModel catalogue types obtained through ExtensionModel.getTypes() and ExtensionModel.getImportedTypes().
Since:
1.0
  • Constructor Details

    • RestrictedTypesObjectTypeReferenceHandler

      public RestrictedTypesObjectTypeReferenceHandler(org.mule.metadata.persistence.SerializationContext serializationContext, Set<String> allowReferenceTypes)
      Creates a new instance
      Parameters:
      serializationContext - a SerializationContext to keep track of the references
      allowReferenceTypes - TypeIdAnnotation.getValue() of the ObjectType that can use references
  • Method Details

    • readReference

      public Optional<org.mule.metadata.api.builder.TypeBuilder> readReference(String typeReference)
      See DefaultObjectTypeReferenceHandler.readReference(String)
      Specified by:
      readReference in interface org.mule.metadata.persistence.ObjectTypeReferenceHandler
    • shouldWriteReference

      public boolean shouldWriteReference(org.mule.metadata.api.model.ObjectType type)
      Specified by:
      shouldWriteReference in interface org.mule.metadata.persistence.ObjectTypeReferenceHandler
    • writeReference

      public Optional<String> writeReference(org.mule.metadata.api.model.ObjectType type, com.google.gson.stream.JsonWriter writer)
      If the type allows references, it is resolved through DefaultObjectTypeReferenceHandler.writeReference(ObjectType, JsonWriter). Returns Optional.empty() otherwise.
      Specified by:
      writeReference in interface org.mule.metadata.persistence.ObjectTypeReferenceHandler