com.mapinfo.midev.feature.impl

## Class AttributeDefinitionFactory

- java.lang.Object
- - com.mapinfo.midev.feature.impl.AttributeDefinitionFactory

    public final class AttributeDefinitionFactory
    extends Object

A factory for building attribute definitions.

### Method Summary

All Methods Static Methods Concrete Methods
`static IAttributeDefinition` `createAttributeDefinition(IAttributeDefinition attributeDefinition)` Creates a new attribute definition that is a copy of the input attribute definition.
`static IAttributeDefinition` `createAttributeDefinition(IAttributeDefinition attributeDefinition, String alias)` Creates a copy of an attribute definition with a new name.
`static IAttributeDefinition` `createAttributeDefinition(String name, AttributeType type, boolean nullable, boolean unique, int width, int decimals, boolean readonly, Metadata dataSourceAttributeMetadata)` Fully specified attribute definition factory method.
`static IAttributeDefinition` `createBinaryAttributeDefinition(String name, int width)` Creates an attribute definition with the attribute type of binary.
`static IAttributeDefinition` `createBinaryAttributeDefinition(String name, int width, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of binary.
`static IAttributeDefinition` `createBooleanAttributeDefinition(String name)` Creates an attribute definition with the attribute type of boolean.
`static IAttributeDefinition` `createBooleanAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of boolean.
`static IAttributeDefinition` `createByteAttributeDefinition(String name)` Creates an attribute definition with the attribute type of byte.
`static IAttributeDefinition` `createByteAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of byte.
`static IAttributeDefinition` `createCharAttributeDefinition(String name)` Creates an attribute definition with the attribute type of char.
`static IAttributeDefinition` `createCharAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of char.
`static IAttributeDefinition` `createDateAttributeDefinition(String name)` Creates an attribute definition with the attribute type of date.
`static IAttributeDefinition` `createDateAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of date.
`static IAttributeDefinition` `createDateTimeAttributeDefinition(String name)` Creates an attribute definition with the attribute type of date time.
`static IAttributeDefinition` `createDateTimeAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of date-time.
`static IAttributeDefinition` `createDateTimeZoneAttributeDefinition(String name)` Creates an attribute definition with the attribute type of date-time-timezone.
`static IAttributeDefinition` `createDateTimeZoneAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of date-time-timezone.
`static IAttributeDefinition` `createDBaseDecimalAttributeDefinition(String name, int width, int decimals)` Creates an attribute definition with the attribute type of DBase Decimal.
`static IAttributeDefinition` `createDBaseDecimalAttributeDefinition(String name, int width, int decimals, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of DBase Decimal.
`static IAttributeDefinition` `createDoubleAttributeDefinition(String name)` Creates an attribute definition with the attribute type of double.
`static IAttributeDefinition` `createDoubleAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of double.
`static IAttributeDefinition` `createFeatureAttributeDefinition(String name, AttributeDefinitionCollection definitions)`
`static IFeatureAttributeDefinition` `createFeatureAttributeDefinition(String name, AttributeDefinitionCollection definitions, boolean nullable, boolean readonly)`
`static IAttributeDefinition` `createFeatureAttributeDefinition(String name, List definitions)`
`static IFeatureAttributeDefinition` `createFeatureAttributeDefinition(String name, List definitions, boolean nullable, boolean readonly)`
`static IAttributeDefinition` `createFeatureCollectionAttributeDefinition(String name, AttributeDefinitionCollection definitions)`
`static IFeatureAttributeDefinition` `createFeatureCollectionAttributeDefinition(String name, AttributeDefinitionCollection definitions, boolean nullable, boolean readonly)`
`static IAttributeDefinition` `createFeatureCollectionAttributeDefinition(String name, List definitions)`
`static IFeatureAttributeDefinition` `createFeatureCollectionAttributeDefinition(String name, List definitions, boolean nullable, boolean readonly)`
`static IGeometryAttributeDefinition` `createFeatureGeometryAttributeDefinition(String name, SpatialInfo spatialInfo)` Creates an attribute definition with the attribute type of feature geometry.
`static IGeometryAttributeDefinition` `createFeatureGeometryAttributeDefinition(String name, SpatialInfo spatialInfo, boolean nullable, boolean readonly)` Creates an attribute definition with the attribute type of feature geometry.
`static IGeometryAttributeDefinition` `createFeatureGeometryAttributeDefinition(String name, SpatialInfo spatialInfo, boolean nullable, boolean readonly, IStyle defaultStyle, String defaultStyleAttribute)`
`static IGeometryAttributeDefinition` `createFeatureGeometryAttributeDefinition(String name, SpatialInfo spatialInfo, boolean nullable, boolean readonly, IStyle defaultStyle, String defaultStyleAttribute, Metadata metadata)` Creates an attribute definition with the attribute type of feature geometry.
`static IAttributeDefinition` `createFloatAttributeDefinition(String name)` Creates an attribute definition with the attribute type of float.
`static IAttributeDefinition` `createFloatAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of float.
`static IAttributeDefinition` `createIntegerAttributeDefinition(String name)` Creates an attribute definition with the attribute type of integer.
`static IAttributeDefinition` `createIntegerAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of integer.
`static IAttributeDefinition` `createLongAttributeDefinition(String name)` Creates an attribute definition with the attribute type of long.
`static IAttributeDefinition` `createLongAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of long.
`static IAttributeDefinition` `createShortAttributeDefinition(String name)` Creates an attribute definition with the attribute type of short.
`static IAttributeDefinition` `createShortAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of short.
`static IAttributeDefinition` `createStringAttributeDefinition(String name, int width)` Creates an attribute definition with the attribute type of string.
`static IAttributeDefinition` `createStringAttributeDefinition(String name, int width, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of string.
`static IAttributeDefinition` `createStyleAttributeDefinition(String name)` Creates an attribute definition with the attribute type of style.
`static IAttributeDefinition` `createStyleAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of style.
`static IAttributeDefinition` `createTimeAttributeDefinition(String name)` Creates an attribute definition with the attribute type of time.
`static IAttributeDefinition` `createTimeAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of time.
`static IAttributeDefinition` `createTimespanAttributeDefinition(String name)` Creates an attribute definition with the attribute type of timespan.
`static IAttributeDefinition` `createTimespanAttributeDefinition(String name, boolean nullable, boolean unique, boolean readonly)` Creates an attribute definition with the attribute type of timespan.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### createAttributeDefinition

    public static IAttributeDefinition createAttributeDefinition(String name,
                                                                 AttributeType type,
                                                                 boolean nullable,
                                                                 boolean unique,
                                                                 int width,
                                                                 int decimals,
                                                                 boolean readonly,
                                                                 Metadata dataSourceAttributeMetadata)

Fully specified attribute definition factory method. This method cannot be used to create feature or feature geometry definitions, please see specific factory methods for those.

Parameters:
  `name` - the name (or alias) of the attribute.
  `type` - the data type of the attribute.
  `nullable` - true if this attribute allows null values.
  `unique` - true if the values for this attribute must all be unique within the context of the containing feature collection or data store.
  `width` - the maximum storage width for width-sensitive data types such as string, binary, and decimal types.
  `decimals` - the decimal precision for decimal data types (AttributeType#DBASE_DECIMAL).
  `readonly` - true if the values for this property are read only.
  `dataSourceAttributeMetadata` - a data storage-specific definition of this attribute.
Returns:
  A new attribute definition with the specified settings.
Throws:
  `UnsupportedOperationException` - If the attribute type is a feature or feature geometry.
See Also:
  `AttributeDefinitionFactory.createFeatureGeometryAttributeDefinition(java.lang.String, com.mapinfo.midev.geometry.SpatialInfo)`

#### createAttributeDefinition

    public static IAttributeDefinition createAttributeDefinition(IAttributeDefinition attributeDefinition)

Creates a new attribute definition that is a copy of the input attribute definition.

Parameters:
  `attributeDefinition` - The definition to copy.
Returns:
  a new attributeDefinition definition that is a copy of the input attributeDefinition definition.

#### createAttributeDefinition

    public static IAttributeDefinition createAttributeDefinition(IAttributeDefinition attributeDefinition,
                                                                 String alias)

Creates a copy of an attribute definition with a new name.

Parameters:
  `attributeDefinition` - The attribute definition to copy.
  `alias` - The new name for the attribute definition.
Returns:
  a copy of an attribute definition with a new name.

#### createIntegerAttributeDefinition

    public static IAttributeDefinition createIntegerAttributeDefinition(String name)

Creates an attribute definition with the attribute type of integer.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of integer.

#### createIntegerAttributeDefinition

    public static IAttributeDefinition createIntegerAttributeDefinition(String name,
                                                                        boolean nullable,
                                                                        boolean unique,
                                                                        boolean readonly)

Creates an attribute definition with the attribute type of integer.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of integer.

#### createShortAttributeDefinition

    public static IAttributeDefinition createShortAttributeDefinition(String name)

Creates an attribute definition with the attribute type of short.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of short.

#### createShortAttributeDefinition

    public static IAttributeDefinition createShortAttributeDefinition(String name,
                                                                      boolean nullable,
                                                                      boolean unique,
                                                                      boolean readonly)

Creates an attribute definition with the attribute type of short.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of short.

#### createLongAttributeDefinition

    public static IAttributeDefinition createLongAttributeDefinition(String name)

Creates an attribute definition with the attribute type of long.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of long.

#### createLongAttributeDefinition

    public static IAttributeDefinition createLongAttributeDefinition(String name,
                                                                     boolean nullable,
                                                                     boolean unique,
                                                                     boolean readonly)

Creates an attribute definition with the attribute type of long.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of long.

#### createBooleanAttributeDefinition

    public static IAttributeDefinition createBooleanAttributeDefinition(String name)

Creates an attribute definition with the attribute type of boolean.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of boolean.

#### createBooleanAttributeDefinition

    public static IAttributeDefinition createBooleanAttributeDefinition(String name,
                                                                        boolean nullable,
                                                                        boolean unique,
                                                                        boolean readonly)

Creates an attribute definition with the attribute type of boolean.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of boolean.

#### createCharAttributeDefinition

    public static IAttributeDefinition createCharAttributeDefinition(String name)

Creates an attribute definition with the attribute type of char.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of char.

#### createCharAttributeDefinition

    public static IAttributeDefinition createCharAttributeDefinition(String name,
                                                                     boolean nullable,
                                                                     boolean unique,
                                                                     boolean readonly)

Creates an attribute definition with the attribute type of char.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of char.

#### createByteAttributeDefinition

    public static IAttributeDefinition createByteAttributeDefinition(String name)

Creates an attribute definition with the attribute type of byte.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of byte.

#### createByteAttributeDefinition

    public static IAttributeDefinition createByteAttributeDefinition(String name,
                                                                     boolean nullable,
                                                                     boolean unique,
                                                                     boolean readonly)

Creates an attribute definition with the attribute type of byte.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of byte.

#### createDateAttributeDefinition

    public static IAttributeDefinition createDateAttributeDefinition(String name)

Creates an attribute definition with the attribute type of date.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of date.

#### createDateAttributeDefinition

    public static IAttributeDefinition createDateAttributeDefinition(String name,
                                                                     boolean nullable,
                                                                     boolean unique,
                                                                     boolean readonly)

Creates an attribute definition with the attribute type of date.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of date.

#### createDateTimeAttributeDefinition

    public static IAttributeDefinition createDateTimeAttributeDefinition(String name)

Creates an attribute definition with the attribute type of date time.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of date time.

#### createDateTimeAttributeDefinition

    public static IAttributeDefinition createDateTimeAttributeDefinition(String name,
                                                                         boolean nullable,
                                                                         boolean unique,
                                                                         boolean readonly)

Creates an attribute definition with the attribute type of date-time.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of date-time.

#### createDateTimeZoneAttributeDefinition

    public static IAttributeDefinition createDateTimeZoneAttributeDefinition(String name)

Creates an attribute definition with the attribute type of date-time-timezone.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of date-time-timezone.

#### createDateTimeZoneAttributeDefinition

    public static IAttributeDefinition createDateTimeZoneAttributeDefinition(String name,
                                                                             boolean nullable,
                                                                             boolean unique,
                                                                             boolean readonly)

Creates an attribute definition with the attribute type of date-time-timezone.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of date-time-timezone.

#### createTimeAttributeDefinition

    public static IAttributeDefinition createTimeAttributeDefinition(String name)

Creates an attribute definition with the attribute type of time.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of time.

#### createTimeAttributeDefinition

    public static IAttributeDefinition createTimeAttributeDefinition(String name,
                                                                     boolean nullable,
                                                                     boolean unique,
                                                                     boolean readonly)

Creates an attribute definition with the attribute type of time.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of time.

#### createTimespanAttributeDefinition

    public static IAttributeDefinition createTimespanAttributeDefinition(String name)

Creates an attribute definition with the attribute type of timespan.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of timespan.

#### createTimespanAttributeDefinition

    public static IAttributeDefinition createTimespanAttributeDefinition(String name,
                                                                         boolean nullable,
                                                                         boolean unique,
                                                                         boolean readonly)

Creates an attribute definition with the attribute type of timespan.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of timespan.

#### createStyleAttributeDefinition

    public static IAttributeDefinition createStyleAttributeDefinition(String name)

Creates an attribute definition with the attribute type of style.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of style.

#### createStyleAttributeDefinition

    public static IAttributeDefinition createStyleAttributeDefinition(String name,
                                                                      boolean nullable,
                                                                      boolean unique,
                                                                      boolean readonly)

Creates an attribute definition with the attribute type of style.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of style.

#### createStringAttributeDefinition

    public static IAttributeDefinition createStringAttributeDefinition(String name,
                                                                       int width)

Creates an attribute definition with the attribute type of string.

Parameters:
  `name` - The name for the attribute definition.
  `width` - The maximum length for the string.
Returns:
  an attribute definition with the attribute type of string.

#### createStringAttributeDefinition

    public static IAttributeDefinition createStringAttributeDefinition(String name,
                                                                       int width,
                                                                       boolean nullable,
                                                                       boolean unique,
                                                                       boolean readonly)

Creates an attribute definition with the attribute type of string.

Parameters:
  `name` - The name for the attribute definition.
  `width` - The maximum length for the string.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of string.

#### createBinaryAttributeDefinition

    public static IAttributeDefinition createBinaryAttributeDefinition(String name,
                                                                       int width)

Creates an attribute definition with the attribute type of binary.

Parameters:
  `name` - The name for the attribute definition.
  `width` - The maximum length for the data.
Returns:
  an attribute definition with the attribute type of binary.

#### createBinaryAttributeDefinition

    public static IAttributeDefinition createBinaryAttributeDefinition(String name,
                                                                       int width,
                                                                       boolean nullable,
                                                                       boolean unique,
                                                                       boolean readonly)

Creates an attribute definition with the attribute type of binary.

Parameters:
  `name` - The name for the attribute definition.
  `width` - The maximum length for the data.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of binary.

#### createFloatAttributeDefinition

    public static IAttributeDefinition createFloatAttributeDefinition(String name)

Creates an attribute definition with the attribute type of float.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of float.

#### createFloatAttributeDefinition

    public static IAttributeDefinition createFloatAttributeDefinition(String name,
                                                                      boolean nullable,
                                                                      boolean unique,
                                                                      boolean readonly)

Creates an attribute definition with the attribute type of float.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of float.

#### createDBaseDecimalAttributeDefinition

    public static IAttributeDefinition createDBaseDecimalAttributeDefinition(String name,
                                                                             int width,
                                                                             int decimals)

Creates an attribute definition with the attribute type of DBase Decimal.

Parameters:
  `name` - The name for the attribute definition.
  `width` - The maximum length for the number.
  `decimals` - The decimal precision.
Returns:
  an attribute definition with the attribute type of DBase Decimal.

#### createDBaseDecimalAttributeDefinition

    public static IAttributeDefinition createDBaseDecimalAttributeDefinition(String name,
                                                                             int width,
                                                                             int decimals,
                                                                             boolean nullable,
                                                                             boolean unique,
                                                                             boolean readonly)

Creates an attribute definition with the attribute type of DBase Decimal.

Parameters:
  `name` - The name for the attribute definition.
  `width` - The maximum length for the number.
  `decimals` - The decimal precision.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of DBase Decimal.

#### createDoubleAttributeDefinition

    public static IAttributeDefinition createDoubleAttributeDefinition(String name)

Creates an attribute definition with the attribute type of double.

Parameters:
  `name` - The name for the attribute definition.
Returns:
  an attribute definition with the attribute type of double.

#### createDoubleAttributeDefinition

    public static IAttributeDefinition createDoubleAttributeDefinition(String name,
                                                                       boolean nullable,
                                                                       boolean unique,
                                                                       boolean readonly)

Creates an attribute definition with the attribute type of double.

Parameters:
  `name` - The name for the attribute definition.
  `nullable` - True if the attribute is allowed to be null.
  `unique` - True if the attribute must be unique.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of double.

#### createFeatureGeometryAttributeDefinition

    public static IGeometryAttributeDefinition createFeatureGeometryAttributeDefinition(String name,
                                                                                        SpatialInfo spatialInfo)

Creates an attribute definition with the attribute type of feature geometry.

Parameters:
  `name` - The name for the attribute definition.
  `spatialInfo` - The spatial info associated with this geometry definition.
Returns:
  an attribute definition with the attribute type of feature geometry.

#### createFeatureGeometryAttributeDefinition

    public static IGeometryAttributeDefinition createFeatureGeometryAttributeDefinition(String name,
                                                                                        SpatialInfo spatialInfo,
                                                                                        boolean nullable,
                                                                                        boolean readonly)

Creates an attribute definition with the attribute type of feature geometry.

Parameters:
  `name` - The name for the attribute definition.
  `spatialInfo` - The spatial info associated with this geometry definition.
  `nullable` - True if the attribute is allowed to be null.
  `readonly` - True if the attribute is read only.
Returns:
  an attribute definition with the attribute type of feature geometry.

#### createFeatureGeometryAttributeDefinition

    public static IGeometryAttributeDefinition createFeatureGeometryAttributeDefinition(String name,
                                                                                        SpatialInfo spatialInfo,
                                                                                        boolean nullable,
                                                                                        boolean readonly,
                                                                                        IStyle defaultStyle,
                                                                                        String defaultStyleAttribute)

#### createFeatureGeometryAttributeDefinition

    public static IGeometryAttributeDefinition createFeatureGeometryAttributeDefinition(String name,
                                                                                        SpatialInfo spatialInfo,
                                                                                        boolean nullable,
                                                                                        boolean readonly,
                                                                                        IStyle defaultStyle,
                                                                                        String defaultStyleAttribute,
                                                                                        Metadata metadata)

Creates an attribute definition with the attribute type of feature geometry.

Parameters:
  `name` - The name for the attribute definition.
  `spatialInfo` - The spatial info associated with this geometry definition.
  `nullable` - True if the attribute is allowed to be null.
  `readonly` - True if the attribute is read only.
  `defaultStyle` - The default style to use for displaying feature geometries if no other style is available.
  `defaultStyleAttribute` - The name of the attribute that is of type `AttributeType.STYLE` that should be associated with this geometry attribute when displaying the feature geometry values.
  `metadata` -
Returns:
  an attribute definition with the attribute type of feature geometry.

#### createFeatureAttributeDefinition

    public static IAttributeDefinition createFeatureAttributeDefinition(String name,
                                                                        List definitions)

#### createFeatureAttributeDefinition

    public static IAttributeDefinition createFeatureAttributeDefinition(String name,
                                                                        AttributeDefinitionCollection definitions)

#### createFeatureAttributeDefinition

    public static IFeatureAttributeDefinition createFeatureAttributeDefinition(String name,
                                                                               List definitions,
                                                                               boolean nullable,
                                                                               boolean readonly)

#### createFeatureAttributeDefinition

    public static IFeatureAttributeDefinition createFeatureAttributeDefinition(String name,
                                                                               AttributeDefinitionCollection definitions,
                                                                               boolean nullable,
                                                                               boolean readonly)

#### createFeatureCollectionAttributeDefinition

    public static IAttributeDefinition createFeatureCollectionAttributeDefinition(String name,
                                                                                  List definitions)

#### createFeatureCollectionAttributeDefinition

    public static IAttributeDefinition createFeatureCollectionAttributeDefinition(String name,
                                                                                  AttributeDefinitionCollection definitions)

#### createFeatureCollectionAttributeDefinition

    public static IFeatureAttributeDefinition createFeatureCollectionAttributeDefinition(String name,
                                                                                         List definitions,
                                                                                         boolean nullable,
                                                                                         boolean readonly)

#### createFeatureCollectionAttributeDefinition

    public static IFeatureAttributeDefinition createFeatureCollectionAttributeDefinition(String name,
                                                                                         AttributeDefinitionCollection definitions,
                                                                                         boolean nullable,
                                                                                         boolean readonly)