Class ComplexTypeImpl

    • Method Detail

      • getDescriptors

        public Collection<PropertyDescriptor> getDescriptors()
        Description copied from interface: ComplexType
        The property descriptor which compose the complex type.

        A complex type can be composed of attributes and associations which means this collection returns instances of AttributeDescriptor and AssociationDescriptor.

        Specified by:
        getDescriptors in interface ComplexType
        Returns:
        Collection of descriptors representing the composition of the complex type.
      • getDescriptor

        public PropertyDescriptor getDescriptor​(Name name)
        Description copied from interface: ComplexType
        Describe a single property by name.

        This method returns null if no such property is found.

        Specified by:
        getDescriptor in interface ComplexType
        Parameters:
        name - The name of the property to get.
        Returns:
        The property matching the specified name, or null.
      • getDescriptor

        public PropertyDescriptor getDescriptor​(String name)
        Description copied from interface: ComplexType
        Describe a single property by unqualified name.

        Note: Special care should be taken when using this method in the case that two properties with the same local name but different namespace uri exist. For this reason using ComplexType.getDescriptor(Name) is safer.

        This method returns null if no such property is found.

        Specified by:
        getDescriptor in interface ComplexType
        Parameters:
        name - The name of the property to get.
        Returns:
        The property matching the specified name, or null.
      • isInline

        public boolean isInline()
        Description copied from interface: ComplexType
        Indicates ability of XPath to notice this attribute.

        This facility is used to "hide" an attribute from XPath searches, while the compelx contents will still be navigated no additional nesting will be considered. It will be as if the content were "folded" inline resulting in a flatter nesting structure.

        Construct described using Java Interfaces:

        
         interface TestSample {
             String name;
             List measurement;
         }
         interface Measurement {
             long timestamp;
             Point point;
             long reading;
         }
         
        The above is can hold the following information:
        
         [ name="survey1",
           measurements=(
               [timestamp=3,point=(2,3), reading=4200],
               [timestamp=9,point=(2,4), reading=445600],
           )
         ]
         
        Out of the box this is represented to XPath as the following tree:
        
         root/name: survey1
         root/measurement[0]/timestamp:3
         root/measurement[0]/point: (2,3)
         root/measurement[0]/reading: 4200
         root/measurement[1]/timestamp:9
         root/measurement[2]/point: (2,4)
         root/measurement[3]/reading: 445600
         
        By inlining Measurement we can achive the following:
        
         root/name: survey1
         root/timestamp[0]:3
         root/point[0]: (2,3)
         root/reading[0]: 4200
         root/timestamp[1]:9
         root/point[1]: (2,4)
         root/reading[1] 445600
         
        Specified by:
        isInline in interface ComplexType
        Returns:
        true if attribute is to be considered transparent by XPath queries
      • equals

        public boolean equals​(Object o)
        Description copied from class: AttributeTypeImpl
        Override of equals.
        Specified by:
        equals in interface PropertyType
        Overrides:
        equals in class AttributeTypeImpl
        Parameters:
        o - the object to be tested for equality.
        Returns:
        whether other is equal to this attribute Type.