Class ExtensionRegistry

java.lang.Object
org.apache.ws.commons.schema.extensions.ExtensionRegistry

public class ExtensionRegistry extends Object
The task of the extension serializer is to delegate the serilization of the extensions. The extension serializers/deserializers are retained in seperate maps and there are also two seperate references to default serializers and deserializers which would jump into action when there are no specifically attached serializers/deserializers
  • Field Details

  • Constructor Details

    • ExtensionRegistry

      public ExtensionRegistry()
  • Method Details

    • getDefaultExtensionSerializer

      public ExtensionSerializer getDefaultExtensionSerializer()
    • setDefaultExtensionSerializer

      public void setDefaultExtensionSerializer(ExtensionSerializer defaultExtensionSerializer)
    • getDefaultExtensionDeserializer

      public ExtensionDeserializer getDefaultExtensionDeserializer()
    • setDefaultExtensionDeserializer

      public void setDefaultExtensionDeserializer(ExtensionDeserializer defaultExtensionDeserializer)
    • registerDeserializer

      public void registerDeserializer(QName name, ExtensionDeserializer deserializer)
      Register a deserializer with a QName
      Parameters:
      name - - the QName of the element/attribute
      deserializer - - an instance of the deserializer
    • registerSerializer

      public void registerSerializer(Class<?> classOfType, ExtensionSerializer serializer)
      Register a serializer with a Class
      Parameters:
      classOfType - - the class of the object that would be serialized
      serializer - - an instance of the deserializer
    • unregisterSerializer

      public void unregisterSerializer(Class<?> classOfType)
      remove the registration for a serializer with a Class
      Parameters:
      classOfType - - the Class of the element/attribute the serializer is associated with
    • unregisterDeserializer

      public void unregisterDeserializer(QName name)
      remove the registration for a deserializer with a QName
      Parameters:
      name - - the QName fo the element that the deserializer is associated with
    • serializeExtension

      public void serializeExtension(XmlSchemaObject parentSchemaObject, Class<?> classOfType, Node node)
      Serialize a given extension element
      Parameters:
      parentSchemaObject - - the parent schema object. This is what would contain the extension object, probably in side its meta information map
      classOfType - - The class of type to be serialized
      node - - the parent DOM Node that will ultimately be serialized. The XMLSchema serialization mechanism is to create a DOM tree first and serialize it
    • deserializeExtension

      public void deserializeExtension(XmlSchemaObject parentSchemaObject, QName name, Node rawNode)
      Deserialize a given extension element
      Parameters:
      parentSchemaObject - - the parent schema object. This is anticipated to be created already and the relevant object would contain the extension object, probably in side its meta information map
      name - - The qname of the element/attribute to be deserialized. This will be used to search for the extension as well as by the deserializer if a single deserializer is registered against a number of qnames
      rawNode - - the raw DOM Node read from the source. This will be the extension element itself if for an element or extension attribute itself in case of an attribute