Package org.apache.sis.feature.builder
Class PropertyTypeBuilder
java.lang.Object
org.apache.sis.feature.builder.TypeBuilder
org.apache.sis.feature.builder.PropertyTypeBuilder
- All Implemented Interfaces:
Localized
- Direct Known Subclasses:
AssociationRoleBuilder,AttributeTypeBuilder,OperationWrapper
Describes one property of the
FeatureType to be built by an FeatureTypeBuilder.
A different instance of PropertyTypeBuilder 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
- Version:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) intThe maximum number of property values.(package private) intThe minimum number of property values.private FeatureTypeBuilderThe feature type builder instance that created thisPropertyTypeBuilder. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newPropertyTypebuilder.PropertyTypeBuilder(PropertyTypeBuilder builder) Creates a new builder initialized to the values of the given builder. -
Method Summary
Modifier and TypeMethodDescriptionabstract AbstractIdentifiedTypebuild()Builds the property type from the information specified to this builder.(package private) voidIf thePropertyTypecreated by the last call tobuild()has been cached, clears that cache.(package private) final org.opengis.util.GenericNamecreateGenericName(CharSequence... names) Creates a generic name in the feature namespace.(package private) final org.opengis.util.GenericNamecreateLocalName(CharSequence name) Creates a local name in the feature namespace.(package private) final voiddispose()Flags this builder as a disposed one.final intReturns the maximum number of property values.intReturns the minimum number of property values.(package private) booleanReturnstrueifAttributeRole.IDENTIFIER_COMPONENThas been associated to this property.(package private) final FeatureTypeBuilderowner()Returns the feature type builder instance that created thisPropertyTypeBuilder.voidremove()Removes this property from theFeatureTypeBuilder.setDefinition(CharSequence definition) Sets a concise definition of the element.setDeprecated(boolean deprecated) Sets whether the type is deprecated.setDescription(CharSequence description) Sets optional information beyond that required for concise definition of the element.setDesignation(CharSequence designation) Sets a natural language designator for the element.setMaximumOccurs(int occurs) Sets the maximum number of property values.setMinimumOccurs(int occurs) Sets the minimum number of property values.setName(CharSequence localPart) Sets thePropertyTypename as a simple string (local name).setName(CharSequence... components) Sets thePropertyTypename as a string in the given scope.setName(org.opengis.util.GenericName name) Sets thePropertyTypename as a generic name.Methods inherited from class org.apache.sis.feature.builder.TypeBuilder
appendStringTo, ensureAlive, ensureNonEmpty, ensureNonNull, errors, forName, getDefaultName, getDefinition, getDescription, getDesignation, getDisplayName, getLocale, getName, identification, initialize, isDeprecated, reset, resources, toString, toStringInternal
-
Field Details
-
owner
The feature type builder instance that created thisPropertyTypeBuilder. This is set at construction time and considered as immutable until it is set tonull.- See Also:
-
minimumOccurs
int minimumOccursThe minimum number of property values. The default value is 1, unless otherwise specified bysetMinimumOccurs(int).- See Also:
-
maximumOccurs
int maximumOccursThe maximum number of property values. The default value is 1, unless otherwise specified bysetMaximumOccurs(int).- See Also:
-
-
Constructor Details
-
PropertyTypeBuilder
PropertyTypeBuilder(PropertyTypeBuilder builder) Creates a new builder initialized to the values of the given builder. This constructor is forAttributeTypeBuilder.setValueClass(Class)implementation.- Parameters:
builder- the builder from which to copy values.
-
PropertyTypeBuilder
PropertyTypeBuilder(FeatureTypeBuilder owner) Creates a newPropertyTypebuilder.- Parameters:
owner- the builder of theFeatureTypefor which to add this property.
-
-
Method Details
-
owner
Returns the feature type builder instance that created thisPropertyTypeBuilder. -
setName
Sets thePropertyTypename as a generic name. See the parent class for more information.- Overrides:
setNamein classTypeBuilder- Parameters:
name- the generic name (cannot benull).- Returns:
thisfor allowing method calls chaining.- See Also:
-
setName
Sets thePropertyTypename as a simple string (local name). See the parent class for more information.- Overrides:
setNamein classTypeBuilder- Parameters:
localPart- the local part of the generic name as aStringorInternationalString.- Returns:
thisfor allowing method calls chaining.- See Also:
-
setName
Sets thePropertyTypename as a string in the given scope. See the parent class for more information.- Overrides:
setNamein classTypeBuilder- Parameters:
components- the name components as an array ofStringorInternationalStringinstances.- Returns:
thisfor allowing method calls chaining.- See Also:
-
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:
-
setMinimumOccurs
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:
thisfor allowing method calls chaining.- See Also:
-
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_VALUEif none. - See Also:
-
setMaximumOccurs
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_VALUEmeans that there is no maximum.- Parameters:
occurs- the new maximum number of property values.- Returns:
thisfor allowing method calls chaining.- See Also:
-
setDefinition
Sets a concise definition of the element.- Overrides:
setDefinitionin classTypeBuilder- Parameters:
definition- a concise definition of the element, ornullif none.- Returns:
thisfor allowing method calls chaining.- See Also:
-
setDesignation
Sets a natural language designator for the element. This can be used as an alternative to the name in user interfaces.- Overrides:
setDesignationin classTypeBuilder- Parameters:
designation- a natural language designator for the element, ornullif none.- Returns:
thisfor allowing method calls chaining.- See Also:
-
setDescription
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:
setDescriptionin classTypeBuilder- Parameters:
description- information beyond that required for concise definition of the element, ornullif none.- Returns:
thisfor allowing method calls chaining.- See Also:
-
setDeprecated
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:
setDeprecatedin classTypeBuilder- Parameters:
deprecated- whether this type is deprecated.- Returns:
thisfor allowing method calls chaining.- See Also:
-
isIdentifier
boolean isIdentifier()ReturnstrueifAttributeRole.IDENTIFIER_COMPONENThas been associated to this property. -
createLocalName
Creates a local name in the feature namespace.- Specified by:
createLocalNamein classTypeBuilder
-
createGenericName
Creates a generic name in the feature namespace.- Specified by:
createGenericNamein classTypeBuilder
-
clearCache
void clearCache()If thePropertyTypecreated by the last call tobuild()has been cached, clears that cache. This method must be invoked every time that a setter method is invoked.- Specified by:
clearCachein classTypeBuilder- See Also:
-
build
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 createdPropertyTypeinstance 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:
buildin classTypeBuilder- Returns:
- the property type.
- Throws:
IllegalStateException- if the builder contains inconsistent information.
-
dispose
final void dispose()Flags this builder as a disposed one. The builder should not be used anymore after this method call. -
remove
public void remove()Removes this property from theFeatureTypeBuilder. After this method has been invoked, thisPropertyTypeBuilderinstance is no longer in the list returned byFeatureTypeBuilder.properties()and attempts to invoke any setter method onthiswill cause anIllegalStateExceptionto be thrown.- Overrides:
removein classTypeBuilder
-