Package com.vividsolutions.jump.feature
Class AbstractBasicFeature
- java.lang.Object
-
- com.vividsolutions.jump.feature.AbstractBasicFeature
-
- All Implemented Interfaces:
Feature,Serializable,Cloneable,Comparable
- Direct Known Subclasses:
BasicFeature
public abstract class AbstractBasicFeature extends Object implements Feature, Serializable
Default implementation of the Feature interface. Subclasses need implement only the four remaining Feature methods: #getAttribute, #setAttribute, #getAttributes, #setAttributes- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractBasicFeature(FeatureSchema featureSchema)Creates a new Feature based on the given metadata.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Featureclone()Clones this Feature.Featureclone(boolean deep)Clones this Feature.Featureclone(boolean deep, boolean copyPK)Clones this Feature.static BasicFeatureclone(Feature feature, boolean deep, boolean copyPK)Util static method used to create a new BasicFeature from a feature.static intcompare(Feature a, Feature b)Static method to compare two features.intcompareTo(Object o)ObjectgetAttribute(String name)Returns the specified attribute.doublegetDouble(int attributeIndex)Returns a double attribute.org.locationtech.jts.geom.GeometrygetGeometry()Convenience method for returning the spatial attribute.intgetID()Returns a number that uniquely identifies this feature.intgetInteger(int attributeIndex)Returns a integer attribute.FeatureSchemagetSchema()Returns the feature's metadataStringgetString(int attributeIndex)Returns a String representation of the attribute at the given index.StringgetString(String attributeName)Returns a String representation of the attribute at the given index.ObjectgetUserData(Object key)Gets the userData value for this key.voidremoveAllUserData(Object key)Remove all the userData keys and nullify the userData map itself.voidremoveUserData(Object key)Removes the userData value for this key.voidsetAttribute(String attributeName, Object newAttribute)Sets the specified attribute.voidsetGeometry(org.locationtech.jts.geom.Geometry geometry)Convenience method for setting the spatial attribute.voidsetSchema(FeatureSchema schema)A low-level accessor that is not normally used.voidsetUserData(Object key, Object value)Sets a new value in userData replacing the old one for this key.-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vividsolutions.jump.feature.Feature
getAttribute, getAttributes, setAttribute, setAttributes
-
-
-
-
Constructor Detail
-
AbstractBasicFeature
public AbstractBasicFeature(FeatureSchema featureSchema)
Creates a new Feature based on the given metadata.- Parameters:
featureSchema- the metadata containing information on each column
-
-
Method Detail
-
setSchema
public void setSchema(FeatureSchema schema)
A low-level accessor that is not normally used.
-
getID
public int getID()
Returns a number that uniquely identifies this feature. This number is not persistent.
-
setAttribute
public void setAttribute(String attributeName, Object newAttribute)
Sets the specified attribute.- Specified by:
setAttributein interfaceFeature- Parameters:
attributeName- the name of the attribute to setnewAttribute- the new attribute
-
setGeometry
public void setGeometry(org.locationtech.jts.geom.Geometry geometry)
Convenience method for setting the spatial attribute. JUMP Workbench PlugIns and CursorTools should not use this method directly, but should use an EditTransaction, so that the proper events are fired.- Specified by:
setGeometryin interfaceFeature- Parameters:
geometry- the new spatial attribute
-
getAttribute
public Object getAttribute(String name)
Returns the specified attribute. Throws an ArrayOutOfBoundException if attributeName does not exists.- Specified by:
getAttributein interfaceFeature- Parameters:
name- the name of the attribute to get- Returns:
- the attribute
-
getString
public String getString(int attributeIndex)
Returns a String representation of the attribute at the given index. If the attribute at the given index is null, the method returns null.
-
getInteger
public int getInteger(int attributeIndex)
Returns a integer attribute.- Specified by:
getIntegerin interfaceFeature- Parameters:
attributeIndex- the index of the attribute to retrieve- Returns:
- the integer attribute with the given name
-
getDouble
public double getDouble(int attributeIndex)
Returns a double attribute.
-
getString
public String getString(String attributeName)
Returns a String representation of the attribute at the given index. If the attribute at the given index is null, the method returns null.
-
getGeometry
public org.locationtech.jts.geom.Geometry getGeometry()
Convenience method for returning the spatial attribute.- Specified by:
getGeometryin interfaceFeature- Returns:
- the feature's spatial attribute
-
getSchema
public FeatureSchema getSchema()
Returns the feature's metadata
-
clone
public Feature clone()
Clones this Feature. Geometry and PrimaryKey will also be cloned. Warning : clone method does not follow general contract of clone (which recommends using super.clone) but makes a deep copy of the Object using BasicFeature constructor.
-
clone
public Feature clone(boolean deep)
Clones this Feature.
-
clone
public Feature clone(boolean deep, boolean copyPK)
Clones this Feature.
-
clone
public static BasicFeature clone(Feature feature, boolean deep, boolean copyPK)
Util static method used to create a new BasicFeature from a feature.- Parameters:
feature- the feature to be cloneddeep- if deep, the geometry is cloned.copyPK- if copyPK is true and a PK is defined, the PK is copied otherwise, the PK is set to null.- Returns:
- a new BasicFeature
-
compareTo
public int compareTo(Object o)
- Specified by:
compareToin interfaceComparable
-
compare
public static int compare(Feature a, Feature b)
Static method to compare two features. The method uses feature ID to compare them in a first time, and if equals, it uses the feature hashcode.- Parameters:
a- the first feature to be comparedb- the second feature to be compared- Returns:
- a positive integer if a > b, a negative integer if a < b and 0 if a and b have same ID and same hashcode.
-
setUserData
public void setUserData(Object key, Object value)
Sets a new value in userData replacing the old one for this key.
-
removeUserData
public void removeUserData(Object key)
Removes the userData value for this key.
-
removeAllUserData
public void removeAllUserData(Object key)
Remove all the userData keys and nullify the userData map itself.
-
-