Package org.apache.sis.feature.builder
Class AssociationRoleBuilder
- Object
-
- TypeBuilder
-
- PropertyTypeBuilder
-
- AssociationRoleBuilder
-
- All Implemented Interfaces:
Localized
public final class AssociationRoleBuilder extends PropertyTypeBuilder
Describes one association from theFeatureTypeto be built by anFeatureTypeBuilderto anotherFeatureType. A different instance ofAssociationRoleBuilderexists for each feature association to describe. Those instances are created preferably byFeatureTypeBuilder.addAssociation(FeatureType), or in case of cyclic reference byFeatureTypeBuilder.addAssociation(GenericName).- Since:
- 0.8
- See Also:
DefaultAssociationRole,FeatureTypeBuilder.addAssociation(DefaultFeatureType),FeatureTypeBuilder.addAssociation(GenericName)
Defined in the
sis-featuremodule
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DefaultAssociationRolebuild()Builds the association role from the information specified to this builder.AssociationRoleBuildersetDefinition(CharSequence definition)Sets a concise definition of the element.AssociationRoleBuildersetDeprecated(boolean deprecated)Sets whether the type is deprecated.AssociationRoleBuildersetDescription(CharSequence description)Sets optional information beyond that required for concise definition of the element.AssociationRoleBuildersetDesignation(CharSequence designation)Sets a natural language designator for the element.AssociationRoleBuildersetMaximumOccurs(int occurs)Sets the maximum number of associations.AssociationRoleBuildersetMinimumOccurs(int occurs)Sets the minimum number of associations.AssociationRoleBuildersetName(CharSequence localPart)Sets theFeatureAssociationRolename as a simple string (local name).AssociationRoleBuildersetName(CharSequence... components)Sets theFeatureAssociationRolename as a string in the given scope.AssociationRoleBuildersetName(GenericName name)Sets theFeatureAssociationRolename as a generic name.-
Methods inherited from class PropertyTypeBuilder
getMaximumOccurs, getMinimumOccurs, remove
-
Methods inherited from class TypeBuilder
getDefinition, getDescription, getDesignation, getLocale, getName, isDeprecated, toString
-
-
-
-
Method Detail
-
setName
public AssociationRoleBuilder setName(GenericName name)
Sets theFeatureAssociationRolename as a generic name. If another name was defined before this method call, that previous value will be discarded.- Overrides:
setNamein classPropertyTypeBuilder- Parameters:
name- the generic name (can not benull).- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.getName(),TypeBuilder.setName(CharSequence),AbstractIdentifiedType.NAME_KEY
-
setName
public AssociationRoleBuilder setName(CharSequence localPart)
Sets theFeatureAssociationRolename as a simple string (local name). The namespace will be the value specified by the last call toFeatureTypeBuilder.setNameSpace(CharSequence), but that namespace will not be visible in the string representation unless the fully qualified name is requested.This convenience method creates a
LocalNameinstance from the givenCharSequence, then delegates tosetName(GenericName).- Overrides:
setNamein classPropertyTypeBuilder- Parameters:
localPart- the local part of the generic name as aStringorInternationalString.- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.getName(),TypeBuilder.setName(CharSequence...),FeatureTypeBuilder.getNameSpace()
-
setName
public AssociationRoleBuilder setName(CharSequence... components)
Sets theFeatureAssociationRolename as a string in the given scope. Thecomponentsarray must contain at least one element. The last component (the tip) will be sufficient in many cases for calls to theAbstractFeature.getProperty(String)method. The other elements before the last one are optional and can be used for resolving ambiguity. They will be visible as the name path.Example: a call toIn addition to the path specified by thesetName("A", "B", "C")will create a "A:B:C" name. An association built with this name can be obtained from a feature by a call tofeature.getProperty("C")if there is no ambiguity, or otherwise by a call tofeature.getProperty("B:C")(if non-ambiguous) orfeature.getProperty("A:B:C").componentsarray, the name may also contain a namespace specified by the last call toFeatureTypeBuilder.setNameSpace(CharSequence). But contrarily to the specified components, the namespace will not be visible in the name string representation unless the fully qualified name is requested.This convenience method creates a
LocalNameorScopedNameinstance depending on whether thenamesarray contains exactly 1 element or more than 1 element, then delegates tosetName(GenericName).- Overrides:
setNamein classPropertyTypeBuilder- Parameters:
components- the name components as an array ofStringorInternationalStringinstances.- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.getName(),TypeBuilder.setName(CharSequence),FeatureTypeBuilder.getNameSpace()
-
setMinimumOccurs
public AssociationRoleBuilder setMinimumOccurs(int occurs)
Sets the minimum number of associations. If the given number is greater than the maximal number of associations, than the maximum is also set to that value.- Overrides:
setMinimumOccursin classPropertyTypeBuilder- Parameters:
occurs- the new minimum number of associations.- Returns:
thisfor allowing method calls chaining.- See Also:
PropertyTypeBuilder.getMinimumOccurs()
-
setMaximumOccurs
public AssociationRoleBuilder setMaximumOccurs(int occurs)
Sets the maximum number of associations. If the given number is less than the minimal number of associations, than the minimum is also set to that value.Integer.MAX_VALUEmeans that there is no maximum.- Overrides:
setMaximumOccursin classPropertyTypeBuilder- Parameters:
occurs- the new maximum number of associations.- Returns:
thisfor allowing method calls chaining.- See Also:
PropertyTypeBuilder.getMaximumOccurs()
-
setDefinition
public AssociationRoleBuilder setDefinition(CharSequence definition)
Sets a concise definition of the element.- Overrides:
setDefinitionin classPropertyTypeBuilder- Parameters:
definition- a concise definition of the element, ornullif none.- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.getDefinition(),AbstractIdentifiedType.DEFINITION_KEY
-
setDesignation
public AssociationRoleBuilder 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:
setDesignationin classPropertyTypeBuilder- Parameters:
designation- a natural language designator for the element, ornullif none.- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.getDesignation(),AbstractIdentifiedType.DESIGNATION_KEY
-
setDescription
public AssociationRoleBuilder 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:
setDescriptionin classPropertyTypeBuilder- Parameters:
description- information beyond that required for concise definition of the element, ornullif none.- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.getDescription(),AbstractIdentifiedType.DESCRIPTION_KEY
-
setDeprecated
public AssociationRoleBuilder 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:
setDeprecatedin classPropertyTypeBuilder- Parameters:
deprecated- whether this type is deprecated.- Returns:
thisfor allowing method calls chaining.- See Also:
TypeBuilder.isDeprecated(),AbstractIdentifiedType.DEPRECATED_KEY
-
build
public DefaultAssociationRole build()
Builds the association role from the information specified to this builder. If a role has already been built and this builder state has not changed since the role creation, then the previously createdFeatureAssociationRoleinstance is returned.Warning: In a future SIS version, the return type may be changed to theorg.opengis.feature.FeatureAssociationRoleinterface. This change is pending GeoAPI revision.- Specified by:
buildin classPropertyTypeBuilder- Returns:
- the association role.
-
-