Class FeatureIdVersionedImpl

  • All Implemented Interfaces:
    FeatureId, Identifier
    Direct Known Subclasses:
    ResourceIdImpl

    public class FeatureIdVersionedImpl
    extends FeatureIdImpl
    Implementation of FeatureId

    This class is mutable under one condition only; during a commit a datastore can update the internal fid to reflect the real identify assigned by the database or wfs.

    Since:
    2.5
    Author:
    Justin Deoliveira, The Open Planning Project
    • Field Detail

      • featureVersion

        protected String featureVersion
      • previousRid

        protected String previousRid
    • Constructor Detail

      • FeatureIdVersionedImpl

        public FeatureIdVersionedImpl​(String fid,
                                      String version)
      • FeatureIdVersionedImpl

        public FeatureIdVersionedImpl​(String fid,
                                      String version,
                                      String previousRid)
    • Method Detail

      • equals

        public boolean equals​(Object obj)
        Description copied from interface: Identifier
        Identifier is a data object, equals is based just on getID()
        Specified by:
        equals in interface Identifier
        Overrides:
        equals in class FeatureIdImpl
        Returns:
        true if obj is an Identifier with the same getID()
      • hashCode

        public int hashCode()
        Description copied from interface: Identifier
        Identifier is a data object, hashCode is based just on getID()
        Specified by:
        hashCode in interface Identifier
        Overrides:
        hashCode in class FeatureIdImpl
        Returns:
        hashCode based on getID()
      • equalsExact

        public boolean equalsExact​(FeatureId id)
        Description copied from interface: FeatureId
        Check if the provided FeatureId is an exact match (including any optional version information).
        Specified by:
        equalsExact in interface FeatureId
        Overrides:
        equalsExact in class FeatureIdImpl
        Returns:
        true if this is an exact match (including any optional version information)
      • equalsFID

        public boolean equalsFID​(FeatureId id)
        Description copied from interface: FeatureId
        Checks if the provided FeatureId reflects the same feature.

        This comparison does not compare any optional version information.

        Specified by:
        equalsFID in interface FeatureId
        Overrides:
        equalsFID in class FeatureIdImpl
        Returns:
        true if both identifiers describe the same feature (does not compare version information).
      • getRid

        public String getRid()
        Description copied from interface: FeatureId
        id of the resource that shall be selected by the predicate.

        Equals to FeatureId.getID() if no feature version is provided, or getID() + "@" + getFeatureVersion() if getFeatureVersion() != null

        If an implementation that references this International Standard supports versioning, the rid shall be a system generated hash containing a logical resource identifier and a version number. The specific details of the hash are implementation dependant and shall be opaque to a client

        If versioning is not supported, the same value than FeatureId.getID() shall be returned.

        Specified by:
        getRid in interface FeatureId
        Overrides:
        getRid in class FeatureIdImpl
        Returns:
        Resource identifier made up of FID (combined with FeatureVersion if available)
      • getPreviousRid

        public String getPreviousRid()
        Description copied from interface: FeatureId
        previousRid attribute may be used, in implementations that support versioning, to report the previous identifier of a resource.
        Specified by:
        getPreviousRid in interface FeatureId
        Overrides:
        getPreviousRid in class FeatureIdImpl
        Returns:
        Previous rid if available; or null