Package org.eclipse.birt.report.model.api.extension

# Interface IPropertyDefinition

All Known Implementing Classes:
  `PropertyDefinition`

public interface IPropertyDefinition
Defines a property or structure member provided by an peer extension. Most fields are optional except for type and internal name.

## Method Summary

Modifier and Type
Method
Description
`List<IChoiceDefinition>`
`getChoices()`
Returns a list of choices if the property is a choice (type is CHOICE_TYPE).
`Object`
`getDefaultValue()`
Returns the default value for the property.
`String`
`getDisplayNameID()`
Returns the resource key for the localized display name of the property.
`String`
`getGroupNameID()`
Returns the resource key for display name of the property group.
`List<IPropertyDefinition>`
`getMembers()`
Returns a list of member definitions if the property is a structure (type is TBD).
`IMethodInfo`
`getMethodInfo()`
Returns the method information of this property.
`String`
`getName()`
Returns the internal name of the property.
`int`
`getType()`
Returns the property type using one of the types defined in the `PropertyType`class.
`boolean`
`isList()`
Returns whether this property represents a list of properties instead of a single property.
`boolean`
`isReadOnly()`
Determines whether this property is read-only or not.
`boolean`
`isVisible()`
Determines whether this property is visible in property viewer.

## Method Details

### getGroupNameID

String getGroupNameID()
Returns the resource key for display name of the property group. Property groups are used in the generic property sheet to organize properties. If the resource key is null, then no group is used.

Returns:
  the optional resource key for property group name

### getName

String getName()
Returns the internal name of the property. This is a non-localized, unique name used in the get/set property methods. It is required. BIRT encourages names that match the BIRT property syntax: propName, so that the properties are easy to use in scripts.

Returns:
  the internal property name

### getDisplayNameID

String getDisplayNameID()
Returns the resource key for the localized display name of the property. This is the name that appears in the property sheet UI. It is optional. If omitted, the internal name will be displayed instead.

Returns:
  the optional resource key for the localized display name of the property

### getType

int getType()
Returns the property type using one of the types defined in the `PropertyType`class. It is required. If the model does not provide a suitable type, then either map the property to one of the supported types, or don't expose it though the generic property mechanism.

Returns:
  the property type using one of the model's types

### isList

boolean isList()
Returns whether this property represents a list of properties instead of a single property.

Returns:
  true if the property is a list, false if not

### getChoices

List<IChoiceDefinition> getChoices()
Returns a list of choices if the property is a choice (type is CHOICE_TYPE). Should return null for non-choice properties.

Returns:
  a list of `IChoiceDefinition`objects

### getMembers

List<IPropertyDefinition> getMembers()
Returns a list of member definitions if the property is a structure (type is TBD). Should return null for non-structure properties.

Returns:
  the list of members as a collection of `IPropertyDefinition` objects

### getDefaultValue

Object getDefaultValue()
Returns the default value for the property. Needed only if the element supports styles or inheritance. Not needed otherwise. No default is needed for a structure or list property.

Returns:
  the default value of the property

### getMethodInfo

IMethodInfo getMethodInfo()
Returns the method information of this property.

Returns:
  the method information of this property. Return null, if this property is not a method property.

### isReadOnly

boolean isReadOnly()
Determines whether this property is read-only or not. If this property is read only and can not been edited, return true; otherwise return false.

Returns:
  true if this property is read-only, otherwise false

### isVisible

boolean isVisible()
Determines whether this property is visible in property viewer. If this property is visible in the property viewer, return true; otherwise false.

Returns:
  true if this property is visible in the property viewer, otherwise false