Class SchemaRootBase.ExtensionUnmarshaller

java.lang.Object
org.jibx.schema.codegen.custom.SchemaRootBase.ExtensionUnmarshaller
All Implemented Interfaces:
IUnmarshaller
Direct Known Subclasses:
SchemaRootBase.ClassDecoratorUnmarshaller, SchemaRootBase.NameConverterUnmarshaller
Enclosing class:
SchemaRootBase

public abstract static class SchemaRootBase.ExtensionUnmarshaller extends Object implements IUnmarshaller
Unmarshaller for extension elements. This expects to find a 'class' attribute giving the name of the class to be created, along with other attributes used to set properties on an instance of the class. The latter attributes are handled by converting the attribute name into a field (with an 'm_' prefix) or method (with a 'set' prefix) name, then storing the value to that field or method.
  • Field Details

    • m_name

      private String m_name
  • Constructor Details

    • ExtensionUnmarshaller

      public ExtensionUnmarshaller(String name)
      Constructor.
      Parameters:
      name - local name for the element handled
  • Method Details

    • createInstance

      protected abstract Object createInstance(String cname, UnmarshallingContext ctx)
      Instance creation method. This is called by the unmarshal(Object, IUnmarshallingContext) method to create the actual object instance to be handled. Subclasses must implement this method to create the instance and perform any appropriate initialization.
      Parameters:
      cname - class name from element (null if not supplied)
      ctx - unmarshalling context
      Returns:
      object instance to be unmarshalled, or null if error
    • isPresent

      public boolean isPresent(IUnmarshallingContext ictx) throws JiBXException
      Check for element present.
      Specified by:
      isPresent in interface IUnmarshaller
      Parameters:
      ictx -
      Returns:
      true if present, false if not
      Throws:
      JiBXException - on error
    • unmarshal

      public Object unmarshal(Object obj, IUnmarshallingContext ictx) throws JiBXException
      Unmarshal instance of element. This ignores the 'class' attribute, if present, since that's intended for use by the subclass.
      Specified by:
      unmarshal in interface IUnmarshaller
      Parameters:
      obj - ignored (new instance always created)
      ictx -
      Returns:
      unmarshalled instance
      Throws:
      JiBXException - on error