Package org.apache.sis.feature
Class Features
-
public final class Features extends Static
Static methods working on features or attributes.- Since:
- 0.5
Defined in the
sis-feature
module
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <V> AbstractAttribute<V>
cast(AbstractAttribute<?> attribute, Class<V> valueClass)
Casts the given attribute instance to the given parameterized type.static <V> DefaultAttributeType<V>
cast(DefaultAttributeType<?> type, Class<V> valueClass)
Casts the given attribute type to the given parameterized type.static DefaultFeatureType
findCommonParent(Iterable<? extends DefaultFeatureType> types)
Finds a feature type common to all given types, or returnsnull
if none is found.static GenericName
getValueTypeName(AbstractIdentifiedType property)
Returns the name of the type of values that the given property can take.static void
validate(AbstractFeature feature)
Ensures that all characteristics and property values in the given feature are valid.
-
-
-
Method Detail
-
cast
public static <V> DefaultAttributeType<V> cast(DefaultAttributeType<?> type, Class<V> valueClass) throws ClassCastException
Casts the given attribute type to the given parameterized type. An exception is thrown immediately if the given type does not have the expected value class.- Type Parameters:
V
- the expected value class.- Parameters:
type
- the attribute type to cast, ornull
.valueClass
- the expected value class.- Returns:
- the attribute type casted to the given value class, or
null
if the given type was null. - Throws:
ClassCastException
- if the given attribute type does not have the expected value class.
-
cast
public static <V> AbstractAttribute<V> cast(AbstractAttribute<?> attribute, Class<V> valueClass) throws ClassCastException
Casts the given attribute instance to the given parameterized type. An exception is thrown immediately if the given instance does not have the expected value class.- Type Parameters:
V
- the expected value class.- Parameters:
attribute
- the attribute instance to cast, ornull
.valueClass
- the expected value class.- Returns:
- the attribute instance casted to the given value class, or
null
if the given instance was null. - Throws:
ClassCastException
- if the given attribute instance does not have the expected value class.
-
findCommonParent
public static DefaultFeatureType findCommonParent(Iterable<? extends DefaultFeatureType> types)
Finds a feature type common to all given types, or returnsnull
if none is found. The return value is either one of the given types, or a parent common to all types. A feature F is considered a common parent ifF.
returnsisAssignableFrom
(type)true
for all elements type in the given array.- Parameters:
types
- types for which to find a common type, ornull
.- Returns:
- a feature type which is assignable from all given types, or
null
if none. - Since:
- 1.0
- See Also:
DefaultFeatureType.isAssignableFrom(DefaultFeatureType)
-
getValueTypeName
public static GenericName getValueTypeName(AbstractIdentifiedType property)
Returns the name of the type of values that the given property can take. The type of value can be aClass
, aFeatureType
or anotherPropertyType
depending on given argument:- If
property
is anAttributeType
, then this method gets the value class and maps that class to a name. - If
property
is aFeatureAssociationRole
, then this method gets the name of the value type. This methods can work even if the associatedFeatureType
is not yet resolved. - If
property
is anOperation
, then this method returns the name of the result type.
- Parameters:
property
- the property for which to get the name of value type.- Returns:
- the name of value type, or
null
if none. - Since:
- 0.8
- If
-
validate
public static void validate(AbstractFeature feature) throws IllegalArgumentException
Ensures that all characteristics and property values in the given feature are valid. An attribute is valid if it contains a number of values between the minimum and maximum number of occurrences (inclusive), all values are instances of the expected value class, and the attribute is compliant with any other restriction that the implementation may add.This method gets a quality report as documented in the
AbstractFeature.quality()
method and verifies that all conformance tests pass. If at least oneConformanceResult.pass
attribute is false, then anInvalidPropertyValueException
is thrown. Otherwise this method returns doing nothing.- Parameters:
feature
- the feature to validate, ornull
.- Throws:
IllegalArgumentException
- if the given feature is non-null and does not pass validation.- Since:
- 0.7
-
-