Class VPFFeatureClass

    • Constructor Detail

      • VPFFeatureClass

        public VPFFeatureClass​(VPFCoverage cCoverage,
                               String cName,
                               String cDirectoryName)
                        throws SchemaException
        Constructor
        Parameters:
        cCoverage - the owning coverage
        cName - the name of the class
        cDirectoryName - the directory containing the class
        Throws:
        SchemaException - For problems making one of the feature classes as a FeatureType.
      • VPFFeatureClass

        public VPFFeatureClass​(VPFCoverage cCoverage,
                               String cName,
                               String cDirectoryName,
                               URI cNamespace)
                        throws SchemaException
        Constructor
        Parameters:
        cCoverage - the owning coverage
        cName - the name of the class
        cDirectoryName - the directory containing the class
        cNamespace - the namespace to create features with. If null then a default from VPFLibrary.DEFAULTNAMESPACE is assigned.
        Throws:
        SchemaException - For problems making one of the feature classes as a FeatureType.
    • Method Detail

      • reset

        public void reset()
      • hasNext

        public boolean hasNext()
      • getCoverage

        public VPFCoverage getCoverage()
        The coverage that owns this feature class
        Returns:
        a VPFCoverage object
      • getDirectoryName

        public String getDirectoryName()
        The path to the directory that contains this feature class
        Returns:
        a String value representing the path to the directory.
      • getFileList

        public List<VPFFile> 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:
        The local name for this FeatureType.
      • getFCTypeName

        public String getFCTypeName()
      • 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.
      • 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.
      • getGeometryFactory

        public VPFGeometryFactory getGeometryFactory()
        Returns:
        Returns the geometryFactory.
      • 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.
      • 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.
      • 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.
      • 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
      • 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.
      • 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.
      • 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.
      • 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.