Class BaseDescriptor

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static XMLFieldDescriptor[] noXMLFields
      Used for returning no attribute and no element fields
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BaseDescriptor​(java.lang.String xmlName, java.lang.Class type)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addNature​(java.lang.String nature)
      Adds a specified nature.
      boolean canAccept​(java.lang.String name, java.lang.String namespace, java.lang.Object object)
      Returns true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.
      void checkDescriptorForCorrectOrderWithinSequence​(XMLFieldDescriptor elementDescriptor, UnmarshalState parentState, java.lang.String xmlName)
      Checks whether the given XMLFieldDescriptor is the one actually expected, given the natural order as defined by a sequence definition
      AccessMode getAccessMode()
      Returns the access mode specified for this class.
      XMLFieldDescriptor[] getAttributeDescriptors()
      Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes.
      XMLFieldDescriptor getContentDescriptor()
      Returns the XMLFieldDescriptor for the member that should be marshalled as text content.
      XMLFieldDescriptor[] getElementDescriptors()
      Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.
      ClassDescriptor getExtends()
      Returns the class descriptor of the class extended by this class.
      XMLFieldDescriptor getFieldDescriptor​(java.lang.String name, java.lang.String namespace, NodeType nodeType)
      Returns the XML field descriptor matching the given xml name and nodeType.
      FieldDescriptor[] getFields()
      Returns a list of fields represented by this descriptor.
      FieldDescriptor getIdentity()
      Returns the identity field, null if this class has no identity.
      java.lang.Class getJavaClass()
      Returns the Java class represented by this descriptor.
      java.lang.String getNameSpacePrefix()
      Returns the namespace prefix to use when marshalling as XML.
      java.lang.String getNameSpaceURI()
      Returns the namespace URI used when marshalling and unmarshalling as XML.
      java.lang.Object getProperty​(java.lang.String name)
      Get a property by its name.
      TypeValidator getValidator()
      Returns a specific validator for the class described by this ClassDescriptor.
      java.lang.String getXMLName()
      Returns the XML Name for the Class being described.
      boolean hasNature​(java.lang.String nature)
      Checks if a specified nature has been added.
      boolean isChoice()
      Indicates whether the XML artifact described by this descriptor is a .
      void setProperty​(java.lang.String name, java.lang.Object value)
      Set a property specified by the name to the passed value.
      java.lang.String toString()
      Returns the String representation of this XMLClassDescriptor.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • noXMLFields

        protected static final XMLFieldDescriptor[] noXMLFields
        Used for returning no attribute and no element fields
    • Constructor Detail

      • BaseDescriptor

        protected BaseDescriptor​(java.lang.String xmlName,
                                 java.lang.Class type)
    • Method Detail

      • getAttributeDescriptors

        public XMLFieldDescriptor[] getAttributeDescriptors()
        Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML attributes.
        Specified by:
        getAttributeDescriptors in interface XMLClassDescriptor
        Returns:
        an array of XMLFieldDescriptors for all members that should be marshalled as XML attributes.
      • getContentDescriptor

        public XMLFieldDescriptor getContentDescriptor()
        Returns the XMLFieldDescriptor for the member that should be marshalled as text content.
        Specified by:
        getContentDescriptor in interface XMLClassDescriptor
        Returns:
        the XMLFieldDescriptor for the member that should be marshalled as text content.
      • getElementDescriptors

        public XMLFieldDescriptor[] getElementDescriptors()
        Returns the set of XMLFieldDescriptors for all members that should be marshalled as XML elements.
        Specified by:
        getElementDescriptors in interface XMLClassDescriptor
        Returns:
        an array of XMLFieldDescriptors for all members that should be marshalled as XML elements.
      • getFieldDescriptor

        public XMLFieldDescriptor getFieldDescriptor​(java.lang.String name,
                                                     java.lang.String namespace,
                                                     NodeType nodeType)
        Returns the XML field descriptor matching the given xml name and nodeType. If NodeType is null, then either an AttributeDescriptor, or ElementDescriptor may be returned. Null is returned if no matching descriptor is available.
        Specified by:
        getFieldDescriptor in interface XMLClassDescriptor
        Parameters:
        name - The xml name to match against.
        namespace - The namespace uri.
        nodeType - The NodeType to match against, or null if the node type is not known.
        Returns:
        The matching descriptor, or null if no matching descriptor is available.
      • getNameSpacePrefix

        public java.lang.String getNameSpacePrefix()
        Description copied from interface: XMLClassDescriptor
        Returns the namespace prefix to use when marshalling as XML.
        Specified by:
        getNameSpacePrefix in interface XMLClassDescriptor
        Returns:
        the namespace prefix to use when marshalling as XML.
      • getNameSpaceURI

        public java.lang.String getNameSpaceURI()
        Description copied from interface: XMLClassDescriptor
        Returns the namespace URI used when marshalling and unmarshalling as XML.
        Specified by:
        getNameSpaceURI in interface XMLClassDescriptor
        Returns:
        the namespace URI used when marshalling and unmarshalling as XML.
      • getValidator

        public TypeValidator getValidator()
        Returns a specific validator for the class described by this ClassDescriptor. A null value may be returned if no specific validator exists.
        Specified by:
        getValidator in interface XMLClassDescriptor
        Returns:
        the type validator for the class described by this ClassDescriptor.
      • getXMLName

        public java.lang.String getXMLName()
        Returns the XML Name for the Class being described.
        Specified by:
        getXMLName in interface XMLClassDescriptor
        Returns:
        the XML name.
      • toString

        public java.lang.String toString()
        Returns the String representation of this XMLClassDescriptor.
        Overrides:
        toString in class java.lang.Object
        Returns:
        the String representation of this XMLClassDescriptor.
      • getJavaClass

        public java.lang.Class getJavaClass()
        Returns the Java class represented by this descriptor.
        Specified by:
        getJavaClass in interface ClassDescriptor
        Returns:
        The Java class
      • getExtends

        public ClassDescriptor getExtends()
        Returns the class descriptor of the class extended by this class.
        Specified by:
        getExtends in interface ClassDescriptor
        Returns:
        The extended class descriptor
      • getAccessMode

        public AccessMode getAccessMode()
        Returns the access mode specified for this class.
        Returns:
        The access mode
      • canAccept

        public boolean canAccept​(java.lang.String name,
                                 java.lang.String namespace,
                                 java.lang.Object object)
        Returns true if the given object represented by this XMLClassDescriptor can accept a member whose name is given. An XMLClassDescriptor can accept a field if it contains a descriptor that matches the given name and if the given object can hold this field (i.e a value is not already set for this field).

        This is mainly used for container object (that can contains other object), in this particular case the implementation will return null.

        Specified by:
        canAccept in interface XMLClassDescriptor
        Parameters:
        name - the xml name of the field to check
        namespace - the namespace uri
        object - the object represented by this XMLCLassDescriptor
        Returns:
        true if the given object represented by this XMLClassDescriptor can accept a member whose name is given.
      • getProperty

        public java.lang.Object getProperty​(java.lang.String name)
        Description copied from interface: PropertyHolder
        Get a property by its name.
        Specified by:
        getProperty in interface PropertyHolder
        Parameters:
        name - of the property
        Returns:
        value of the property
      • setProperty

        public void setProperty​(java.lang.String name,
                                java.lang.Object value)
        Description copied from interface: PropertyHolder
        Set a property specified by the name to the passed value.
        Specified by:
        setProperty in interface PropertyHolder
        Parameters:
        name - of the property
        value - of the property
      • addNature

        public void addNature​(java.lang.String nature)
        Description copied from interface: NatureExtendable
        Adds a specified nature.
        Specified by:
        addNature in interface NatureExtendable
        Parameters:
        nature - ID of the Nature
      • hasNature

        public boolean hasNature​(java.lang.String nature)
        Description copied from interface: NatureExtendable
        Checks if a specified nature has been added.
        Specified by:
        hasNature in interface NatureExtendable
        Parameters:
        nature - ID of the Nature
        Returns:
        true if the Nature ID was added.