Package org.apache.sis.feature.builder
Class PropertyTypeBuilder
- Object
-
- TypeBuilder
-
- PropertyTypeBuilder
-
- All Implemented Interfaces:
Localized
- Direct Known Subclasses:
AssociationRoleBuilder
,AttributeTypeBuilder
public abstract class PropertyTypeBuilder extends TypeBuilder
Describes one property of theFeatureType
to be built by anFeatureTypeBuilder
. A different instance ofPropertyTypeBuilder
exists for each property to describe. Those instances can be created by:FeatureTypeBuilder.addAttribute(Class)
FeatureTypeBuilder.addAttribute(DefaultAttributeType)
for using an existing attribute as a templateFeatureTypeBuilder.addAssociation(DefaultFeatureType)
FeatureTypeBuilder.addAssociation(GenericName)
FeatureTypeBuilder.addAssociation(DefaultAssociationRole)
for using an existing association as a template
- Since:
- 0.8
Defined in the
sis-feature
module
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract AbstractIdentifiedType
build()
Builds the property type from the information specified to this builder.int
getMaximumOccurs()
Returns the maximum number of property values.int
getMinimumOccurs()
Returns the minimum number of property values.void
remove()
Removes this property from theFeatureTypeBuilder
.PropertyTypeBuilder
setDefinition(CharSequence definition)
Sets a concise definition of the element.PropertyTypeBuilder
setDeprecated(boolean deprecated)
Sets whether the type is deprecated.PropertyTypeBuilder
setDescription(CharSequence description)
Sets optional information beyond that required for concise definition of the element.PropertyTypeBuilder
setDesignation(CharSequence designation)
Sets a natural language designator for the element.PropertyTypeBuilder
setMaximumOccurs(int occurs)
Sets the maximum number of property values.PropertyTypeBuilder
setMinimumOccurs(int occurs)
Sets the minimum number of property values.PropertyTypeBuilder
setName(CharSequence localPart)
Sets thePropertyType
name as a simple string (local name).PropertyTypeBuilder
setName(CharSequence... components)
Sets thePropertyType
name as a string in the given scope.PropertyTypeBuilder
setName(GenericName name)
Sets thePropertyType
name as a generic name.-
Methods inherited from class TypeBuilder
getDefinition, getDescription, getDesignation, getLocale, getName, isDeprecated, toString
-
-
-
-
Method Detail
-
setName
public PropertyTypeBuilder setName(GenericName name)
Sets thePropertyType
name as a generic name. See the parent class for more information.- Overrides:
setName
in classTypeBuilder
- Parameters:
name
- the generic name (can not benull
).- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.getName()
,TypeBuilder.setName(CharSequence)
,AbstractIdentifiedType.NAME_KEY
-
setName
public PropertyTypeBuilder setName(CharSequence localPart)
Sets thePropertyType
name as a simple string (local name). See the parent class for more information.- Overrides:
setName
in classTypeBuilder
- Parameters:
localPart
- the local part of the generic name as aString
orInternationalString
.- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.getName()
,TypeBuilder.setName(CharSequence...)
,FeatureTypeBuilder.getNameSpace()
-
setName
public PropertyTypeBuilder setName(CharSequence... components)
Sets thePropertyType
name as a string in the given scope. See the parent class for more information.- Overrides:
setName
in classTypeBuilder
- Parameters:
components
- the name components as an array ofString
orInternationalString
instances.- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.getName()
,TypeBuilder.setName(CharSequence)
,FeatureTypeBuilder.getNameSpace()
-
getMinimumOccurs
public int getMinimumOccurs()
Returns the minimum number of property values. The returned value is greater than or equal to zero.- Returns:
- the minimum number of property values.
- See Also:
DefaultAttributeType.getMinimumOccurs()
-
setMinimumOccurs
public PropertyTypeBuilder setMinimumOccurs(int occurs)
Sets the minimum number of property values. If the given number is greater than the maximal number of property values, than the maximum is also set to that value.- Parameters:
occurs
- the new minimum number of property values.- Returns:
this
for allowing method calls chaining.- See Also:
getMinimumOccurs()
-
getMaximumOccurs
public final int getMaximumOccurs()
Returns the maximum number of property values. The returned value is greater than or equal to thegetMinimumOccurs()
value. If there is no maximum, then this method returnsInteger.MAX_VALUE
.- Returns:
- the maximum number of property values, or
Integer.MAX_VALUE
if none. - See Also:
DefaultAttributeType.getMaximumOccurs()
-
setMaximumOccurs
public PropertyTypeBuilder setMaximumOccurs(int occurs)
Sets the maximum number of property values. If the given number is less than the minimal number of property values, than the minimum is also set to that value.Integer.MAX_VALUE
means that there is no maximum.- Parameters:
occurs
- the new maximum number of property values.- Returns:
this
for allowing method calls chaining.- See Also:
getMaximumOccurs()
-
setDefinition
public PropertyTypeBuilder setDefinition(CharSequence definition)
Sets a concise definition of the element.- Overrides:
setDefinition
in classTypeBuilder
- Parameters:
definition
- a concise definition of the element, ornull
if none.- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.getDefinition()
,AbstractIdentifiedType.DEFINITION_KEY
-
setDesignation
public PropertyTypeBuilder setDesignation(CharSequence designation)
Sets a natural language designator for the element. This can be used as an alternative to the name in user interfaces.- Overrides:
setDesignation
in classTypeBuilder
- Parameters:
designation
- a natural language designator for the element, ornull
if none.- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.getDesignation()
,AbstractIdentifiedType.DESIGNATION_KEY
-
setDescription
public PropertyTypeBuilder setDescription(CharSequence description)
Sets optional information beyond that required for concise definition of the element. The description may assist in understanding the feature scope and application. If the type is deprecated, then the description should give indication about the replacement (e.g. "superceded by …").- Overrides:
setDescription
in classTypeBuilder
- Parameters:
description
- information beyond that required for concise definition of the element, ornull
if none.- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.getDescription()
,AbstractIdentifiedType.DESCRIPTION_KEY
-
setDeprecated
public PropertyTypeBuilder setDeprecated(boolean deprecated)
Sets whether the type is deprecated. If the type is deprecated, then the description should be set to an indication about the replacement (e.g. "superceded by …").- Overrides:
setDeprecated
in classTypeBuilder
- Parameters:
deprecated
- whether this type is deprecated.- Returns:
this
for allowing method calls chaining.- See Also:
TypeBuilder.isDeprecated()
,AbstractIdentifiedType.DEPRECATED_KEY
-
build
public abstract AbstractIdentifiedType build() throws IllegalStateException
Builds the property type from the information specified to this builder. If a type has already been built and this builder state has not changed since the type creation, then the previously createdPropertyType
instance is returned (seeAttributeTypeBuilder.build()
for more information).Warning: In a future SIS version, the return type may be changed toorg.opengis.feature.PropertyType
. This change is pending GeoAPI revision.- Specified by:
build
in classTypeBuilder
- Returns:
- the property type.
- Throws:
IllegalStateException
- if the builder contains inconsistent information.
-
remove
public void remove()
Removes this property from theFeatureTypeBuilder
. After this method has been invoked, thisPropertyTypeBuilder
instance is no longer in the list returned byFeatureTypeBuilder.properties()
and attempts to invoke any setter method onthis
will cause anIllegalStateException
to be thrown.
-
-