Class ALcdXMLIndexBasedElementAdapter

java.lang.Object
com.luciad.format.xml.ALcdXMLIndexBasedElementAdapter
All Implemented Interfaces:
ILcdXMLElementAdapter
Direct Known Subclasses:
ALcdXMLTypedIndexBasedElementAdapter

public abstract class ALcdXMLIndexBasedElementAdapter extends Object implements ILcdXMLElementAdapter
Deprecated.
Use of the com.format.xml API has been deprecated. Instead, use the com.format.xml.bind API.
An abstract class implementing ILcdXMLElementAdapter, facilitating the implementation of custom XML adapters.

Typically, when extending this class, the following methods need to be overwritten:

  • when adding attributes:
    • getAttributeCount()
    • getAttributeName()
    • getAttributeValue()
  • when adding contents:
    • getContentCount()
    • getContent()
    • isPrimitiveContent()
The visit...() methods of the ILcdXMLElementAdapter interface are implemented by this adapter using delegation to the getAttribute...() and getContent...() methods. They should normally not be overwritten.

In most cases, it is advised to extend new element adapter classes from ALcdXMLVisitorBasedElementAdapter, 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

    • ALcdXMLIndexBasedElementAdapter

      public ALcdXMLIndexBasedElementAdapter(ILcdXMLElementAdapterProvider aElementAdapterProvider, ILcdXMLElementNameProvider aElementNameProvider)
      Deprecated.
      Constructs a new ALcdXMLIndexBasedElementAdapter, initialized with the specified ILcdXMLElementAdapterProvider and ILcdXMLElementNameProvider.
      Parameters:
      aElementAdapterProvider - the ILcdXMLElementAdapterProvider to be used for retrieving child adapters.
      aElementNameProvider - the ILcdXMLElementNameProvider to be used for retrieving element names.
    • ALcdXMLIndexBasedElementAdapter

      public ALcdXMLIndexBasedElementAdapter(ILcdXMLElementAdapterProvider aElementAdapterProvider, TLcdXMLName aElementName)
      Deprecated.
      Constructs a new ALcdXMLIndexBasedElementAdapter, initialized with the specified ILcdXMLElementAdapterProvider and a fixed element name.
      Parameters:
      aElementAdapterProvider - the ILcdXMLElementAdapterProvider to be used for retrieving child adapters.
      aElementName - the name of the element handled by this adapter.
  • 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
      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.
    • getAttributeCount

      public int getAttributeCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      By default, returns 0.
      Specified by:
      getAttributeCount in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      Returns:
      0
    • 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
      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
      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.
    • 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
      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, int aIndex)
      Deprecated.
      Returns the toString() value of the Object returned by getAttributeValue().
      Specified by:
      getAttributeValueAsString in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      getAttributeValue(aNameStack, aObjectStack, aIndex).toString()
    • 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
      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.
    • getContentCount

      public int getContentCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack)
      Deprecated.
      By default, returns 0.
      Specified by:
      getContentCount in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      Returns:
      0
    • 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
      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.
      Returns the toString() value of the Object returned by getContent().
      Specified by:
      getContentAsString in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      getContent(aNameStack, aObjectStack, aIndex).toString()
    • getContentName

      public TLcdXMLName getContentName(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      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
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      the name of the content with the given index.
    • getContentAdapter

      public ILcdXMLElementAdapter getContentAdapter(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      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
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      a suitable adapter for the content at the given index.
    • getContentCount

      public int getContentCount(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aXMLName)
      Deprecated.
      The default implementation iterates over all contents, and counts the number of elements having the provided XML name.
      Specified by:
      getContentCount in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aXMLName -
      Returns:
      the number of contents for the object on top of the name/object stack.
    • getContent

      public Object getContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aXMLName, int aIndex)
      Deprecated.
      The default implementation iterates over all contents, and counts the number of elements having the provided XML name, to retrieve the content at position aIndex.
      Specified by:
      getContent in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aXMLName -
      aIndex -
      Returns:
      the content with the given index.
    • getContentAsString

      public String getContentAsString(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aXMLName, int aIndex)
      Deprecated.
      Returns the toString() value of the Object returned by getContent().
      Specified by:
      getContentAsString in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aXMLName - the name of the content to be returned.
      aIndex -
      Returns:
      getContent(aNameStack, aObjectStack, aXMLName, aIndex).toString()
    • getContentAdapter

      public ILcdXMLElementAdapter getContentAdapter(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, TLcdXMLName aXMLName, int aIndex)
      Deprecated.
      Returns an XML adapter for the content at the specified index in the list of contents having the specified XML name. The implementation will delegate the request to the ILcdXMLElementAdapterProvider that was provided at construction time.
      Specified by:
      getContentAdapter in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aXMLName - the name of the content for which to return an adapter.
      aIndex -
      Returns:
      a suitable adapter for the content at the given index.
    • isPrimitiveContent

      public boolean isPrimitiveContent(ILcdXMLNameStack aNameStack, ILcdXMLObjectStack aObjectStack, int aIndex)
      Deprecated.
      By default, returns false.
      Specified by:
      isPrimitiveContent in interface ILcdXMLElementAdapter
      Parameters:
      aNameStack -
      aObjectStack -
      aIndex -
      Returns:
      false
    • 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
      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
      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
      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:
    • getElementAdapterProvider

      protected ILcdXMLElementAdapterProvider getElementAdapterProvider()
      Deprecated.
      Returns the ILcdXMLElementAdapterProvider from which child adapters are retrieved.
      Returns:
      the ILcdXMLElementAdapterProvider from which child adapters are retrieved.
    • getElementNameProvider

      protected ILcdXMLElementNameProvider getElementNameProvider()
      Deprecated.
      Returns the ILcdXMLElementNameProvider which is used to retrieve XML names.
      Returns:
      the ILcdXMLElementNameProvider which is used to retrieve XML names.