Class GMLComplexTypes.FeatureAssociationType

  • All Implemented Interfaces:
    ComplexType, Type
    Enclosing class:
    GMLComplexTypes

    public static class GMLComplexTypes.FeatureAssociationType
    extends Object
    This class represents an FeatureAssociationType within the GML Schema. This includes both the data and parsing functionality associated with an FeatureAssociationType.
    Author:
    dzwiers
    See Also:
    GMLSchema.GMLComplexType, ComplexType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static Attribute[] attributes  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean cache​(Element e, Map<String,​Object> hints)
      This method is a directive to the parser whether to keep the data around in memory for post processing.
      boolean canEncode​(Element element, Object value, Map<String,​Object> hints)
      Can I write this object out as element specified?
      void encode​(Element element, Object value, PrintHandler output, Map<String,​Object> hints)
      Encode value as element on the provided output.
      Element findChildElement​(String name)
      Convinience method used to search this type's children for the requested element by localName.
      String getAnyAttributeNameSpace()
      This methos represents the potential 'anyAttribute' declaration's namespace attribute which may occur within a complex type definition.
      Attribute[] getAttributes()
      The set of attributes required by this complex type declaration.
      int getBlock()
      Specifies a mask which denotes which substitution mechanisms may be used for this complex type definition.
      ElementGrouping getChild()
      Returns the child element representing the structure of nested child nodes (if any are allowed).
      Element[] getChildElements()  
      int getFinal()
      Specifies a mask which denotes which substitution mechanisms prohibited for use by child definitions of this complex type.
      String getId()
      Returns the xml schema id of this complexType if one exists, null otherwise.
      static GMLSchema.GMLComplexType getInstance()  
      Class getInstanceType()
      This will return the intended Java Class for this element type.
      String getName()
      This returns the XML Schema declaration name of this type (both complex and simple types have names ...)
      URI getNamespace()
      This is used for validation of an XML document, and represents the targetNamespace of that this type resides in.
      Type getParent()
      This is used to represent the heirarchy represented within an xml schema document(s).
      SimpleFeature getValue​(Element element, ElementValue[] value, Attributes attrs, Map<String,​Object> hints)
      This method is intended to receive the child elements in the form of ElementValues (@see ElementValue).
      boolean isAbstract()
      Returns true when the complexType should be considered abstract, as defined by the XML schema of which this complex type definition is a part.
      boolean isDerived()
      This method is used to publish whether this complexType is at the root of an inheritance tree, or a leaf within an inheritance tree.
      boolean isMixed()
      Returns true if this complexType allows mixed content (Child elements and a String value).
      • Methods inherited from class Object

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

      • attributes

        protected static final Attribute[] attributes
    • Constructor Detail

      • FeatureAssociationType

        public FeatureAssociationType()
    • Method Detail

      • getInstance

        public static GMLSchema.GMLComplexType getInstance()
      • isAbstract

        public boolean isAbstract()
        Description copied from interface: ComplexType
        Returns true when the complexType should be considered abstract, as defined by the XML schema of which this complex type definition is a part.
        See Also:
        schema.ComplexType#isAbstract()
      • getAnyAttributeNameSpace

        public String getAnyAttributeNameSpace()
        Description copied from interface: ComplexType
        This methos represents the potential 'anyAttribute' declaration's namespace attribute which may occur within a complex type definition.
        See Also:
        schema.ComplexType#getAnyAttributeNameSpace()
      • getAttributes

        public Attribute[] getAttributes()
        Description copied from interface: ComplexType
        The set of attributes required by this complex type declaration. As per the xml schema definition, there is not an implied order to the attributes. For performance reasons an implementor may wich to order the attributes from most common to least commonly used attributes.
        See Also:
        schema.ComplexType#getAttributeDescriptors()
      • getChild

        public ElementGrouping getChild()
        Description copied from interface: ComplexType
        Returns the child element representing the structure of nested child nodes (if any are allowed).
        See Also:
        schema.ComplexType#getChildren()
      • getName

        public String getName()
        Description copied from interface: Type
        This returns the XML Schema declaration name of this type (both complex and simple types have names ...)
        See Also:
        schema.ComplexType#getLocalName()
      • getValue

        public SimpleFeature getValue​(Element element,
                                      ElementValue[] value,
                                      Attributes attrs,
                                      Map<String,​Object> hints)
                               throws SAXException
        Description copied from interface: Type
        This method is intended to receive the child elements in the form of ElementValues (@see ElementValue). Recall that this is a pairing containing a reference to the type and the actual value (do not call .getValue on the types). This should return the real value (interpreted value) for this element based on it's children. Remember, this is a XML is a tree structure, so if you don't include some children, they are gone forever (so be careful when ignoring data).

        If the element had #CData (Nested Child Text), this will appear in the first slot, with a null Element.

        A SAXNotSupportedException should be thrown when the child's [inherited, default implementation of getValue(ElementValue[],Attributes)] method should be used.

        Returns:
        Object
        Throws:
        SAXException
        See Also:
        schema.Type#getValue(java.util.List)
      • getInstanceType

        public Class getInstanceType()
        Description copied from interface: Type
        This will return the intended Java Class for this element type. For generic complex types this will be an object array. SimpleTypes will match as they are parsed, and custom extensions will also return the appropriate class value.
        See Also:
        org.geotools.xml.xsi.Type#getInstanceType()
      • findChildElement

        public Element findChildElement​(String name)
        Description copied from interface: Type
        Convinience method used to search this type's children for the requested element by localName.
        Parameters:
        name - the element's localName to search for.
        See Also:
        schema.ComplexType#findChildElement(java.lang.String)
      • canEncode

        public boolean canEncode​(Element element,
                                 Object value,
                                 Map<String,​Object> hints)
        Description copied from interface: Type
        Can I write this object out as element specified?
        Parameters:
        element - The element which may be used to represent the Object. This is included to allow for child definitions to include addition information where appropriate.
        value - An Object which may or may not be encodeable by this type. The value may also be null.
        Returns:
        True when the encode method can interpret the given element/value pair into valid xml.
        See Also:
        Type.canEncode(org.geotools.xml.schema.Element, java.lang.Object, java.util.Map)
      • encode

        public void encode​(Element element,
                           Object value,
                           PrintHandler output,
                           Map<String,​Object> hints)
                    throws IOException,
                           OperationNotSupportedException
        Description copied from interface: Type
        Encode value as element on the provided output.

        This is encoding because the PrintHandler does not have to go back to a stream.

        Parameters:
        element - The original element declaration to which we should encode.
        value - The Object to encode.
        output - This is where the output should be written to.
        hints - For providing additional context information to specific schemas.
        Throws:
        IOException - When there is an error with the Writer.
        OperationNotSupportedException - When this type cannot be encoded ... and wasn't checked first.
        See Also:
        Type.encode(org.geotools.xml.schema.Element, java.lang.Object, org.geotools.xml.PrintHandler, java.util.Map)
      • getBlock

        public int getBlock()
        Description copied from interface: ComplexType
        Specifies a mask which denotes which substitution mechanisms may be used for this complex type definition.
        Specified by:
        getBlock in interface ComplexType
        See Also:
        schema.ComplexType#getBlock()
      • getFinal

        public int getFinal()
        Description copied from interface: ComplexType
        Specifies a mask which denotes which substitution mechanisms prohibited for use by child definitions of this complex type.
        Specified by:
        getFinal in interface ComplexType
        See Also:
        schema.ComplexType#getFinal()
      • getId

        public String getId()
        Description copied from interface: ComplexType
        Returns the xml schema id of this complexType if one exists, null otherwise.
        Specified by:
        getId in interface ComplexType
        See Also:
        schema.ComplexType#getId()
      • isMixed

        public boolean isMixed()
        Description copied from interface: ComplexType
        Returns true if this complexType allows mixed content (Child elements and a String value).
        Specified by:
        isMixed in interface ComplexType
        See Also:
        schema.ComplexType#isMixed()
      • getNamespace

        public URI getNamespace()
        Description copied from interface: Type
        This is used for validation of an XML document, and represents the targetNamespace of that this type resides in.
        Specified by:
        getNamespace in interface Type
        See Also:
        schema.ComplexType#getNamespace()
      • isDerived

        public boolean isDerived()
        Description copied from interface: ComplexType
        This method is used to publish whether this complexType is at the root of an inheritance tree, or a leaf within an inheritance tree. This method should return true when the complexType is not a root of an inheritance tree.
        Specified by:
        isDerived in interface ComplexType
        See Also:
        schema.ComplexType#isDerived()
      • getParent

        public Type getParent()
        Description copied from interface: ComplexType
        This is used to represent the heirarchy represented within an xml schema document(s). This is particularily useful, as the parent will have the first attempt to create a real (non Object[]) value of the element. For more information see getValue.
        Specified by:
        getParent in interface ComplexType
        See Also:
        schema.ComplexType#getParent()
      • cache

        public boolean cache​(Element e,
                             Map<String,​Object> hints)
        Description copied from interface: ComplexType
        This method is a directive to the parser whether to keep the data around in memory for post processing. Generally this should return True, except when streaming.
        Specified by:
        cache in interface ComplexType
        Returns:
        True, except when streaming the element.
        See Also:
        org.geotools.xml.schema.ComplexType#cache()