Class VPFFeatureType

    • Constructor Detail

      • VPFFeatureType

        public VPFFeatureType​(VPFFeatureClass cFeatureClass,
                              SimpleFeature cFeature)
        Constructor
        Parameters:
        cFeatureClass - The owning feature class
        cFeature - A Feature from the CHAR.VDT file with more detailed information for this feature type
      • VPFFeatureType

        public VPFFeatureType​(VPFFeatureClass cFeatureClass)
        A constructor for feature types with no information in a char.vdt file.
        Parameters:
        cFeatureClass - The owning feature class
    • Method Detail

      • debugFeature

        public static void debugFeature​(SimpleFeature feature)
      • debugFeatureType

        public static void debugFeatureType​(SimpleFeatureType featureType)
      • getAttributeCount

        public int getAttributeCount()
        Description copied from interface: SimpleFeatureType
        Returns the number of attributes composing the feature type

        This method is convenience for getAttributes().size().

        Specified by:
        getAttributeCount in interface SimpleFeatureType
        Returns:
        The number of attributes.
      • getCoverage

        public VPFCoverage getCoverage()
        Returns:
        The VPFCoverage that this FeatureType belongs to.
      • getDirectoryName

        public String getDirectoryName()
        Returns:
        The String path for the directory containing the VPFFeatureClass that this FeatureType belongs to.
      • getFeatureClass

        public VPFFeatureClass getFeatureClass()
        Returns:
        Returns the featureClass.
      • readAllRows

        public List<SimpleFeature> readAllRows()
                                        throws IOException
        Throws:
        IOException
      • getFileList

        public List getFileList()
        Returns a list of file objects
        Returns:
        A List containing VPFFile objects.
      • getTypeName

        public String getTypeName()
        Description copied from interface: SimpleFeatureType
        The local name for this FeatureType.

        Specifically this method returns getName().getLocalPart().

        Specified by:
        getTypeName in interface SimpleFeatureType
        Returns:
        A List containing the ColumnPair objects which identify the file joins for the VPFFeatureClass that this FeatureType belongs to.
      • isAbstract

        public boolean isAbstract()
        Description copied from interface: PropertyType
        Flag indicating if the type is abstract or not.
        Specified by:
        isAbstract in interface PropertyType
        Returns:
        true if the type is abstract, otherwise false.
      • getFaccCode

        public String getFaccCode()
        The FACC code, a two-letter, 3-number code identifying the feature type
        Returns:
        Returns the FACC Code.
      • equals

        public boolean equals​(Object obj)
        Description copied from interface: PropertyType
        Equality based on property PropertyType.getName().
        Specified by:
        equals in interface PropertyType
        Overrides:
        equals in class Object
        Returns:
        true if other is a PropertyType with the same name
      • getDescriptor

        public AttributeDescriptor getDescriptor​(int index)
        Description copied from interface: SimpleFeatureType
        Returns the attribute descriptor at the specified index.

        This method is convenience for:

         return (AttributeDescriptor) ((List) getProperties()).get(index);
         
        Specified by:
        getDescriptor in interface SimpleFeatureType
        Parameters:
        index - The index of the descriptor to return.
        Returns:
        The attribute descriptor at the specified index.
      • getAttributeDescriptors

        public List<AttributeDescriptor> getAttributeDescriptors()
        Description copied from interface: SimpleFeatureType
        The list of attribute descriptors which make up the feature type.

        This method is a convenience for:

         return (List<AttributeDescriptor>) getProperties();
         
        Specified by:
        getAttributeDescriptors in interface SimpleFeatureType
        Returns:
        The ordered list of attribute descriptors.
      • getDescriptor

        public AttributeDescriptor getDescriptor​(Name name)
        Description copied from interface: SimpleFeatureType
        Returns the attribute descriptor which matches the specified name.

        This method is convenience for:

         return (AttributeDescriptor) getProperty(name);
         

        This method returns null if no such attribute exists.

        Specified by:
        getDescriptor in interface ComplexType
        Specified by:
        getDescriptor in interface SimpleFeatureType
        Parameters:
        name - The name of the descriptor to return.
        Returns:
        The attribute descriptor matching the specified name, or null if no such attribute exists.
      • getDescriptor

        public AttributeDescriptor getDescriptor​(String name)
        Description copied from interface: SimpleFeatureType
        Returns the attribute descriptor which matches the specified name.

        This method is convenience for:

         return (AttributeDescriptor) getProperty(name);
         

        This method returns null if no such attribute exists.

        Specified by:
        getDescriptor in interface ComplexType
        Specified by:
        getDescriptor in interface SimpleFeatureType
        Parameters:
        name - The name of the descriptor to return.
        Returns:
        The attribute descriptor matching the specified name, or null if no such attribute exists.
      • getType

        public AttributeType getType​(Name name)
        Description copied from interface: SimpleFeatureType
        Returns the type of the attribute which matches the specified name.

        This method is convenience for:

         return (AttributeType) getProperty(name).getType();
         

        If there is no such attribute which matches name, null is returned.

        Specified by:
        getType in interface SimpleFeatureType
        Parameters:
        name - The name of the attribute whose type to return.
        Returns:
        The attribute type matching the specified name, or null.
      • getType

        public AttributeType getType​(String name)
        Description copied from interface: SimpleFeatureType
        Returns the type of the attribute which matches the specified name.

        This method is convenience for:

         return (AttributeType) getProperty(name).getType();
         

        If there is no such attribute which matches name, null is returned.

        Specified by:
        getType in interface SimpleFeatureType
        Parameters:
        name - The name of the attribute whose type to return.
        Returns:
        The attribute type matching the specified name, or null.
      • getType

        public AttributeType getType​(int index)
        Description copied from interface: SimpleFeatureType
        Returns the type of the attribute at the specified index.

        This method is convenience for:

           return (AttributeType)((List)getProperties()).get(index)).getType();
         
        Specified by:
        getType in interface SimpleFeatureType
        Parameters:
        index - The index of the attribute whose type to return.
        Returns:
        The attribute type at the specified index.
      • getTypes

        public List<AttributeType> getTypes()
        Description copied from interface: SimpleFeatureType
        Returns the types of all the attributes which make up the feature.

        This method is convenience for:

         List types = new ArrayList();
         for (Property p : getProperties()) {
             types.add(p.getType());
         }
         return types;
         
        Specified by:
        getTypes in interface SimpleFeatureType
        Returns:
        The list of attribute types.
      • getCoordinateReferenceSystem

        public CoordinateReferenceSystem getCoordinateReferenceSystem()
        Description copied from interface: FeatureType
        The coordinate reference system of the feature.

        This value is derived from the default geometry attribute:

           ((GeometryType)getDefaultGeometry().getType()).getCRS();
         

        This method will return null in the case where no default geometric attribute is defined.

        Specified by:
        getCoordinateReferenceSystem in interface FeatureType
        Returns:
        The coordinate referencing system, or null.
      • getGeometryDescriptor

        public GeometryDescriptor getGeometryDescriptor()
        Description copied from interface: FeatureType
        Describe the default geometric attribute for this feature.

        This method returns null in the case where no such attribute exists.

        Specified by:
        getGeometryDescriptor in interface FeatureType
        Returns:
        The descriptor of the default geometry attribute, or null.
      • 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.
      • 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
      • getRestrictions

        public List<Filter> getRestrictions()
        Description copied from interface: PropertyType
        List of restrictions used define valid values for properties of this property type.

        Each restriction is a Filter object in which the property is passed through. If Filter.evaluate(Object) returns true the restriction is met. If false is returned then the restriction has not been met and the property should be considered invalid. Remember to check getSuper().getRestrictions() as well.

        This method returns an empty set in the case of no restrictions and should not return null.

        Specified by:
        getRestrictions in interface PropertyType
        Returns:
        List used to validate allowable values.
      • getName

        public Name getName()
        Description copied from interface: PropertyType
        The name of the property type.

        Note that this is not the same name as Property.getName(), which is the name of the instance of the type, not the type itself.

        The returned name is a qualified name made up of two parts. The first a namespace uri (Name.getNamespaceURI(), and the second a local part (Name.getLocalPart().

        This value is never null.

        Specified by:
        getName in interface PropertyType
        Returns:
        The name of the property type.
      • getUserData

        public Map<Object,​Object> getUserData()
        Description copied from interface: PropertyType
        A map of "user data" which enables applications to store "application-specific" information against a property type.

        As an example, consider an application that builds a PropertyType from an xml schema. A useful bit of information to attach to the PropertyType is the original schema itself, in whatever construct it might be stored in:

         
         XSDComplexTypeDefinition complexTypeDef = ...;
         PropertyType type = buildPropertyType( complexTypeDef );
        
         type.getUserData().put( XSDComplexTypeDefintion.class, complexTypeDef );
         
         
        Specified by:
        getUserData in interface PropertyType
        Returns:
        A map of user data.
      • indexOf

        public int indexOf​(String name)
        Description copied from interface: SimpleFeatureType
        Returns the index of the attribute which matches the specified name.

        -1 is returned in the instance there is no attribute matching the specified name.

        Specified by:
        indexOf in interface SimpleFeatureType
        Parameters:
        name - The name of the attribute whose index to return.
        Returns:
        index of named attribute, or -1 if not found.
      • indexOf

        public int indexOf​(Name name)
        Description copied from interface: SimpleFeatureType
        Returns the index of the attribute which matches the specified name.

        -1 is returned in the instance there is no attribute matching the specified name.

        Specified by:
        indexOf in interface SimpleFeatureType
        Parameters:
        name - The name of the attribute whose index to return.
        Returns:
        index of named attribute, or -1 if not found.