Class ALcdXMLTypedIndexBasedElementAdapter

java.lang.Object
com.luciad.format.xml.ALcdXMLIndexBasedElementAdapter
com.luciad.format.xml.schema.ALcdXMLTypedIndexBasedElementAdapter
All Implemented Interfaces:
ILcdXMLElementAdapter

public abstract class ALcdXMLTypedIndexBasedElementAdapter extends ALcdXMLIndexBasedElementAdapter
Deprecated.
Use of the com.format.xml.schema API has been deprecated. Instead, use the com.format.xml.bind.schema API.
An abstract class implementing ILcdXMLElementAdapter, facilitating the implementation of custom XML adapters and offering support for XML type inheritance, based on schema information.

For each get...() method of the ILcdXMLElementAdapter interface, there is an equivalent getType...() method available, which returns information about the attributes and/or contents that are specific for the type, handled by this adapter.

Typically, the following methods need to be overwritten:

  • adding attributes:
    • getTypeAttributeCount()
    • getTypeAttributeName()
    • getTypeAttributeValue()
    • containsEmptyTypeAttributes()
  • adding contents:
    • getTypeContentCount()
    • getTypeContent()
    • getTypeContentSubstitutionGroup()
    • isTypePrimitiveContent()
    • containsEmptyTypeContent()
The visit...() methods of the ILcdXMLElementAdapter interface are implemented by this adapter using delegation to the getAttribute...() and getContent...() methods. They should not be overwritten.

In most cases, it is advised to extend new element adapter classes from ALcdXMLTypedVisitorBasedElementAdapter, since implementations of that class are less error-prone, more compact and have better serial access performance. Only if random access to child elements is needed, performance is an issue and the domain model object to be adapted offers random access, this adapter should be taken into consideration.

  • Constructor Details

    • ALcdXMLTypedIndexBasedElementAdapter

      public ALcdXMLTypedIndexBasedElementAdapter(ILcdXMLTypedElementAdapterProvider aElementAdapterProvider, ILcdXMLElementNameProvider aElementNameProvider, ILcdXMLSchemaProvider aSchemaProvider, TLcdXMLName aTypeName)
      Deprecated.
      Constructs an ALcdXMLTypedIndexBasedElementAdapter object.
      Parameters:
      aElementAdapterProvider - the element adapter provider to which adapter requests should be forwarded.
      aElementNameProvider - the element name provider to which naming requests should be forwarded.
      aSchemaProvider - the schema provider to which schema requests should be forwarded.
      aTypeName - the XML type name for which this adapter is written.
    • ALcdXMLTypedIndexBasedElementAdapter

      public ALcdXMLTypedIndexBasedElementAdapter(ILcdXMLTypedElementAdapterProvider aElementAdapterProvider, ILcdXMLSchemaProvider aSchemaProvider, TLcdXMLName aTypeName, TLcdXMLName aElementName)
      Deprecated.
      Constructs an ALcdXMLTypedIndexBasedElementAdapter for a global type, with a fixed element name.
      Parameters:
      aElementAdapterProvider - the element adapter provider to which adapter requests should be forwarded.
      aSchemaProvider - the schema provider to which schema requests should be forwarded.
      aTypeName - the XML type name for which this adapter is written.
      aElementName - the XML element name to be returned for elements handled by this adapter. No ILcdXMLElementNameProvider will be used for look-up of the name.
    • ALcdXMLTypedIndexBasedElementAdapter

      public ALcdXMLTypedIndexBasedElementAdapter(ILcdXMLTypedElementAdapterProvider aElementAdapterProvider, ILcdXMLSchemaProvider aSchemaProvider, TLcdXMLName aTypeName, TLcdXMLName[] aElementNameStack)
      Deprecated.
      Constructs an ALcdXMLTypedIndexBasedElementAdapter object for an anonymous type.
      Parameters:
      aElementAdapterProvider - the element adapter provider to which adapter requests should be forwarded.
      aSchemaProvider - the schema provider to which schema requests should be forwarded.
      aTypeName - the XML type in which the following namestack is defined.
      aElementNameStack - the XML element namestack, pointing to the type for which this adapter is written.
  • Method Details

    • getName

      public TLcdXMLName getName(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aSubstitutionGroup, Object aObject)
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Returns the name of the object specified by the given name/object stack, substitution group and object.
      Specified by:
      getName in interface ILcdXMLElementAdapter
      Overrides:
      getName in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aSubstitutionGroup - the substitution group the returned element should belong to, if there is one (null otherwise).
      aObject - the element for which to return a name.
      Returns:
      the element name that best matches the specified element.
    • getAttributeName

      public TLcdXMLName getAttributeName(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Inspects the object on top of the name/object stack: returns the name of the attribute at the given index.
      Specified by:
      getAttributeName in interface ILcdXMLElementAdapter
      Overrides:
      getAttributeName in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the attribute whose name is to be returned.
      Returns:
      the name of the attribute with the given index.
    • getAttributeValue

      public Object getAttributeValue(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Inspects the object on top of the name/object stack: returns the value of the attribute at the given index.
      Specified by:
      getAttributeValue in interface ILcdXMLElementAdapter
      Overrides:
      getAttributeValue in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the attribute whose value is to be returned.
      Returns:
      the value of the attribute with the given index.
    • getAttributeValueAsString

      public String getAttributeValueAsString(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      Returns the toString() value of the Object returned by getAttributeValue().
      Specified by:
      getAttributeValueAsString in interface ILcdXMLElementAdapter
      Overrides:
      getAttributeValueAsString in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      getAttributeValue(aNameStack, aObjectStack, aIndex).toString()
    • getAttributeCount

      public int getAttributeCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      By default, returns 0.
      Specified by:
      getAttributeCount in interface ILcdXMLElementAdapter
      Overrides:
      getAttributeCount in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      Returns:
      0
    • getAttributeValue

      public Object getAttributeValue(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aAttributeName)
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Inspects the object on top of the name/object stack: returns the value of the attribute with the specified name, or null if no such attribute exists.
      Specified by:
      getAttributeValue in interface ILcdXMLElementAdapter
      Overrides:
      getAttributeValue in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aAttributeName - the name of the attribute for which to return a value.
      Returns:
      the value of the attribute with the specified name.
    • getAttributeValueAsString

      public String getAttributeValueAsString(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aAttributeName)
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Inspects the object on top of the name/object stack: returns the value of the attribute with the specified name, as a String.
      Specified by:
      getAttributeValueAsString in interface ILcdXMLElementAdapter
      Overrides:
      getAttributeValueAsString in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aAttributeName - the name of the attribute for which to return a value.
      Returns:
      the value of the attribute with the given index, as a String.
    • getContentName

      public TLcdXMLName getContentName(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      Returns the XML name for the content at the specified index. The implementation will delegate the request to the ILcdXMLElementNameProvider that was provided at construction time.
      Specified by:
      getContentName in interface ILcdXMLElementAdapter
      Overrides:
      getContentName in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      the name of the content with the given index.
    • getContent

      public Object getContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Inspects the object on top of the name/object stack: returns the content, at the given index.
      Specified by:
      getContent in interface ILcdXMLElementAdapter
      Overrides:
      getContent in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      the content with the given index.
    • getContentAsString

      public String getContentAsString(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      Returns the toString() value of the Object returned by getContent().
      Specified by:
      getContentAsString in interface ILcdXMLElementAdapter
      Overrides:
      getContentAsString in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      getContent(aNameStack, aObjectStack, aIndex).toString()
    • getContentAdapter

      public ILcdXMLElementAdapter getContentAdapter(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      Returns an XML adapter for the content at the specified index. The implementation will delegate the request to the ILcdXMLElementAdapterProvider that was provided at construction time.
      Specified by:
      getContentAdapter in interface ILcdXMLElementAdapter
      Overrides:
      getContentAdapter in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      a suitable adapter for the content at the given index.
    • isPrimitiveContent

      public boolean isPrimitiveContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      By default, returns false.
      Specified by:
      isPrimitiveContent in interface ILcdXMLElementAdapter
      Overrides:
      isPrimitiveContent in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      false
    • getContentCount

      public int getContentCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      Description copied from class: ALcdXMLIndexBasedElementAdapter
      By default, returns 0.
      Specified by:
      getContentCount in interface ILcdXMLElementAdapter
      Overrides:
      getContentCount in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      Returns:
      0
    • visitElement

      public void visitElement(ILcdXMLEditableNameStack aNameStack, ILcdXMLEditableObjectStack aObjectStack, TLcdXMLName aSubstitutionGroup, Object aObject, ILcdXMLElementVisitor aElementVisitor, ILcdXMLDocumentContext aDocumentContext) throws TLcdXMLInterruptedException
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Visits the given element.

      The element to be visited is specified by a name and object stack, containing the XML stack up to the parent name/object, and a (name,object) pair.

      The ILcdXMLElementVisitor interface documentation contains a detailed description of how an XML element needs to be visited.

      Specified by:
      visitElement in interface ILcdXMLElementAdapter
      Overrides:
      visitElement in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be visited.
      aObjectStack - the XML object stack, identifying the XML element to be visited.
      aSubstitutionGroup - the element name or substitution group of the element to be visited
      aObject - the lement to be visited
      aElementVisitor - the element visitor which is called by this visitable.
      aDocumentContext - the XML document context
      Throws:
      TLcdXMLInterruptedException - if the visit action has been interrupted.
      See Also:
    • visitAttributes

      public void visitAttributes(ILcdXMLEditableNameStack aNameStack, ILcdXMLEditableObjectStack aObjectStack, ILcdXMLElementVisitor aElementVisitor, ILcdXMLDocumentContext aDocumentContext) throws TLcdXMLInterruptedException
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Visits the attributes of the element, specified by the given name and object stack .

      Specified by:
      visitAttributes in interface ILcdXMLElementAdapter
      Overrides:
      visitAttributes in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be visited.
      aObjectStack - the XML object stack, identifying the XML element to be visited.
      aElementVisitor - the element visitor which is called by this visitable.
      aDocumentContext - the XML document context
      Throws:
      TLcdXMLInterruptedException - if the visit action has been interrupted.
      See Also:
    • visitContents

      public void visitContents(ILcdXMLEditableNameStack aNameStack, ILcdXMLEditableObjectStack aObjectStack, ILcdXMLElementVisitor aElementVisitor, ILcdXMLDocumentContext aDocumentContext) throws TLcdXMLInterruptedException
      Deprecated.
      Description copied from interface: ILcdXMLElementAdapter
      Visits the contents of the element, specified by the given name and object stack .

      Specified by:
      visitContents in interface ILcdXMLElementAdapter
      Overrides:
      visitContents in class ALcdXMLIndexBasedElementAdapter
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be visited.
      aObjectStack - the XML object stack, identifying the XML element to be visited.
      aElementVisitor - the element visitor which is called by this visitable.
      aDocumentContext - the XML document context
      Throws:
      TLcdXMLInterruptedException - if the visit action has been interrupted.
      See Also:
    • getTypeAttributeName

      protected TLcdXMLName getTypeAttributeName(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the name of the attribute at the given index.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the attribute whose name is to be returned.
      Returns:
      the name of the attribute with the given index.
    • getTypeAttributeValue

      protected Object getTypeAttributeValue(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the value of the attribute at the given index.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the attribute whose value is to be returned.
      Returns:
      the value of the attribute with the given index.
    • getTypeAttributeValueAsString

      protected String getTypeAttributeValueAsString(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the value of the attribute at the given index, as a String.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      the value of the attribute with the given index, as a String.
    • getTypeAttributeCount

      protected int getTypeAttributeCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the number of attributes, contained in the inspected object.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      Returns:
      the number of attributes for the object on top of the name/object stack.
    • getTypeContent

      protected Object getTypeContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the content, at the given index.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      the content with the given index.
    • getTypeContentAsString

      protected String getTypeContentAsString(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the content, at the given index, as a String.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      the content with the given index, as a String.
    • getTypeContentSubstitutionGroup

      protected TLcdXMLName getTypeContentSubstitutionGroup(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
    • getTypeContentName

      protected TLcdXMLName getTypeContentName(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the name of the content at the given index.

      In general, this method should be implemented as follows:

      • if the type of the current object enforces the child content at the given index to have a fixed name (e.g. <element name="xxx" type="yyy"/>), this name can be returned immediately.
      • if the type of the current object enforces the child content at the given index to belong to a certain substitution group (e.g. <element ref="zzz">), the child adapter should be retrieved, and the call should be forwarded to the getName() method of the child adapter, with the given substitution group.
      • if nothing is known about the child content, the child adapter should be retrieved, and the call should be forwarded to the getName() method of the child adapter, with the null argument as substitution group.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      the name of the content with the given index.
    • isTypePrimitiveContent

      protected boolean isTypePrimitiveContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns true if the content at the given index is primitive content (i.e., no XML element), false otherwise.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      true if the content at the given index is primitive content, false otherwise.
    • getTypeContentAdapter

      protected ILcdXMLElementAdapter getTypeContentAdapter(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      Inspects the object on top of the name/object stack: returns a suitable ILcdXMLElementAdapter for the content at the given index.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      aIndex - the index of the content whose name is to be returned.
      Returns:
      a suitable adapter for the content at the given index.
    • getTypeContentCount

      protected int getTypeContentCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      Inspects the object on top of the name/object stack: returns the number of contents, contained in the inspected object.
      Parameters:
      aNameStack - the XML name stack, identifying the XML element to be inspected.
      aObjectStack - the XML object stack, identifying the XML element to be inspected.
      Returns:
      the number of contents for the object on top of the name/object stack.
    • containsEmptyTypeAttributes

      protected boolean containsEmptyTypeAttributes(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      Returns true if this adapter can return empty (null) XML attributes for the object on top of the specified object stack.
      Parameters:
      aNameStack - the XML element name stack that represents the location in the XML structure of the element to be investigated.
      aObjectStack - the object stack that contains for each element name at the same location in the element name stack, the corresponding object.
      Returns:
      true if this adapter can return empty (null) XML attributes for the specified object, false otherwise.
    • containsEmptyTypeContent

      protected boolean containsEmptyTypeContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      Returns true if this adapter can return empty (null) XML content for the object on top of the specified object stack.
      Parameters:
      aNameStack - the XML element name stack that represents the location in the XML structure of the element to be investigated.
      aObjectStack - the object stack that contains for each element name at the same location in the element name stack, the corresponding object.
      Returns:
      true if this adapter can return empty (null) XML content for the specified object, false otherwise.
    • getXMLSchemaUtil

      protected TLcdXMLSchemaUtil getXMLSchemaUtil()
      Deprecated.
      Returns an XML util instance, initialized with the proper schema provider.
      Returns:
      XML util
    • getType

      public TLcdXMLSchemaType getType()
      Deprecated.
      Returns the XML Schema type this adapter is written for.
      Returns:
      the XML Schema type this adapter is written for.