Package org.eclipse.birt.report.model.api.elements.structures

# Class LevelAttribute

java.lang.Object
org.eclipse.birt.report.model.core.Structure
org.eclipse.birt.report.model.api.elements.structures.LevelAttribute

All Implemented Interfaces:
  `Cloneable`, `IStructure`, `org.eclipse.birt.report.model.core.IPropertySet`

Direct Known Subclasses:
  `OdaLevelAttribute`

public class LevelAttribute extends org.eclipse.birt.report.model.core.Structure
This class represents one attribute of the level element.

This is a managed object, meaning that all changes should be made though the command layer so that they can be undone and redone. Each attribute has the following properties:

Name
  a result set column has an optional name.
Data Type
  a result set column has a choice data type: any, integer, string, data time, decimal, float, structure or table.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DATA_TYPE_MEMBER`
Name of the data type member.
`static final String`
`DATE_TIME_ATTRIBUTE_NAME`
Constant for the name of the 'DateTime' level attribute.
`static final String`
`NAME_MEMBER`
Name of the column name member.
`static final String`
`STRUCTURE_NAME`
Name of this structure.

## Constructor Summary

Constructors
Constructor
Description
`LevelAttribute()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDataType()`
Returns the data type of this column.
`protected Object`
`getIntrinsicProperty(String propName)`
Returns the value of a structure property represented as a member variable.
`String`
`getName()`
Returns the column name.
`String`
`getStructName()`
Returns the name of the structure definition.
`StructureHandle`
`handle(SimpleValueHandle valueHandle, int index)`
Creates the specific handle of this structure.
`void`
`setDataType(String dataType)`
Sets the data type of this column.
`protected void`
`setIntrinsicProperty(String propName, Object value)`
Sets the value of of a structure property represented as a member variable.
`void`
`setName(String columnName)`
Sets the column name.
`List`
`validate(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)`
Validates this structure.

### Methods inherited from class org.eclipse.birt.report.model.core.Structure

`checkStringMember, copy, equals, getCompatibleValue, getContext, getDefn, getElement, getExpressionProperty, getHandle, getHandle, getLocalProperty, getLocalProperty, getMemberDefn, getObjectDefn, getProperty, getProperty, getReferencableProperty, getStringProperty, isDesignTime, isReferencable, setContext, setExpressionProperty, setProperty, setProperty, setupContext, updateReference`

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

`clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### STRUCTURE_NAME

public static final String STRUCTURE_NAME
Name of this structure. Matches the definition in the meta-data dictionary.

See Also:
  - Constant Field Values

### NAME_MEMBER

public static final String NAME_MEMBER
Name of the column name member.

See Also:
  - Constant Field Values

### DATA_TYPE_MEMBER

public static final String DATA_TYPE_MEMBER
Name of the data type member.

See Also:
  - Constant Field Values

### DATE_TIME_ATTRIBUTE_NAME

public static final String DATE_TIME_ATTRIBUTE_NAME
Constant for the name of the 'DateTime' level attribute.

See Also:
  - Constant Field Values

## Constructor Details

### LevelAttribute

public LevelAttribute()

## Method Details

### getStructName

public String getStructName()
Description copied from interface: `IStructure`
Returns the name of the structure definition. The name is the one used to define the structure in the meta-data dictionary.

Returns:
  the internal name of the structure a defined in the meta-data dictionary.

### getIntrinsicProperty

protected Object getIntrinsicProperty(String propName)
Description copied from class: `org.eclipse.birt.report.model.core.Structure`
Returns the value of a structure property represented as a member variable.

Specified by:
  `getIntrinsicProperty` in class `org.eclipse.birt.report.model.core.Structure`
Parameters:
  `propName` - name of the property
Returns:
  the value of the property, or null if the property is not set

### setIntrinsicProperty

protected void setIntrinsicProperty(String propName, Object value)
Description copied from class: `org.eclipse.birt.report.model.core.Structure`
Sets the value of of a structure property represented as a member variable.

Specified by:
  `setIntrinsicProperty` in class `org.eclipse.birt.report.model.core.Structure`
Parameters:
  `propName` - the name of the property to set
  `value` - the property value

### getName

public String getName()
Returns the column name.

Returns:
  the column name.

### setName

public void setName(String columnName)
Sets the column name.

Parameters:
  `columnName` - the column name to set

### getDataType

public String getDataType()
Returns the data type of this column. The possible values are defined in `DesignChoiceConstants`, and they are:

- COLUMN_DATA_TYPE_ANY
- COLUMN_DATA_TYPE_INTEGER
- COLUMN_DATA_TYPE_STRING
- COLUMN_DATA_TYPE_DATETIME
- COLUMN_DATA_TYPE_DECIMAL
- COLUMN_DATA_TYPE_FLOAT
- COLUMN_DATA_TYPE_STRUCTURE
- COLUMN_DATA_TYPE_TABLE

Returns:
  the data type of this column.

### setDataType

public void setDataType(String dataType)
Sets the data type of this column. The allowed values are defined in `DesignChoiceConstants`, and they are:

- COLUMN_DATA_TYPE_ANY
- COLUMN_DATA_TYPE_INTEGER
- COLUMN_DATA_TYPE_STRING
- COLUMN_DATA_TYPE_DATETIME
- COLUMN_DATA_TYPE_DECIMAL
- COLUMN_DATA_TYPE_FLOAT
- COLUMN_DATA_TYPE_STRUCTURE
- COLUMN_DATA_TYPE_TABLE

Parameters:
  `dataType` - the data type to set

### handle

public StructureHandle handle(SimpleValueHandle valueHandle, int index)
Description copied from class: `org.eclipse.birt.report.model.core.Structure`
Creates the specific handle of this structure. This handle is always created.

Specified by:
  `handle` in class `org.eclipse.birt.report.model.core.Structure`
Parameters:
  `valueHandle` - the value handle of this structure list property this structure is in
  `index` - the position of this structure in structure list
Returns:
  the handle of this structure.

### validate

public List validate(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)
Validates this structure. The following are the rules:

- The column name is required.

Overrides:
  `validate` in class `org.eclipse.birt.report.model.core.Structure`
Parameters:
  `module` - the module
  `element` - the element contains this structure
Returns:
  the semantic error list
See Also:
  - `Structure.validate(Module, org.eclipse.birt.report.model.core.DesignElement)`