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

# Class TemplateElementHandle

java.lang.Object
org.eclipse.birt.report.model.api.DesignElementHandle
org.eclipse.birt.report.model.api.ReportElementHandle
org.eclipse.birt.report.model.api.TemplateElementHandle

All Implemented Interfaces:
  `org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel`

Direct Known Subclasses:
  `TemplateDataSetHandle`, `TemplateReportItemHandle`

public abstract class TemplateElementHandle extends ReportElementHandle
Abstract handle for template elements. A template element is a place holder to generate a real report item or data set element. Application reads the default element of it by method `getDefaultElement()` and clone a new report item or data set based on the default element. Then application can make some changes about the cloned element, such as set some property values, add some contents, delete some contents. Now, application can use the cloned element with changes or with no change to transform this place holder and get a real report item or data set.

See Also:
  - `TemplateReportItemHandle`
  - `TemplateDataSetHandle`

## Field Summary

### Fields inherited from class org.eclipse.birt.report.model.api.ReportElementHandle

`element`

### Fields inherited from class org.eclipse.birt.report.model.api.DesignElementHandle

`module`

### Fields inherited from interface org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel

`COMMENTS_PROP, CUSTOM_XML_PROP, DISPLAY_NAME_ID_PROP, DISPLAY_NAME_PROP, EVENT_HANDLER_CLASS_PROP, EXTENDS_PROP, FULL_LABEL, ID_SUFFIX, NAME_PROP, NEW_HANDLER_ON_EACH_EVENT_PROP, NO_SLOT, PROPERTY_MASKS_PROP, REF_TEMPLATE_PARAMETER_PROP, SHORT_LABEL, USER_LABEL, USER_PROPERTIES_PROP, VIEW_ACTION_PROP`

## Constructor Summary

Constructors
Constructor
Description
`TemplateElementHandle(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)`
Constructs the handle for a report item with the given design and element.

## Method Summary

Modifier and Type
Method
Description
`IDesignElement`
`copyDefaultElement()`
Returns a copy for the default element in the template element.
`String`
`getAllowedType()`
Gets allowed type of the template element.
`DesignElementHandle`
`getDefaultElement()`
Gets the default element of this template element.
`String`
`getDescription()`
Returns the static description for the template element.
`String`
`getDescriptionKey()`
Returns the resource key of the static description of the template element.
`String`
`getDisplayDescription()`
Returns the localized description for the template element.
`void`
`setDescription(String description)`
Sets the description of the template element.
`void`
`setDescriptionKey(String resourceKey)`
Sets the resource key of the static description of the template element.

### Methods inherited from class org.eclipse.birt.report.model.api.ReportElementHandle

`getComments, getCustomXml, getDisplayName, getDisplayNameKey, getElement, getPropertyMask, isValidLayoutForCompoundElement, isValidReferenceForCompoundElement, propertyMaskIterator, setComments, setCustomXml, setDisplayName, setDisplayNameKey, setPropertyMask`

### Methods inherited from class org.eclipse.birt.report.model.api.DesignElementHandle

`add, add, addElement, addElement, addListener, addUserPropertyDefn, cachePropertyHandles, canContain, canContain, canContain, canContain, canDrop, canEdit, canTransformToTemplate, clearAllProperties, clearContents, clearProperty, clientsIterator, copy, copyPropertyTo, createTemplateElement, derivedIterator, doSort, drop, drop, drop, dropAndClear, dropAndClear, dropAndClear, dropUserPropertyDefn, findContentSlot, getBooleanProperty, getChoices, getColorProperty, getContainer, getContainerPropertyHandle, getContainerSlotHandle, getContent, getContentCount, getContents, getDefn, getDesign, getDesignHandle, getDimensionProperty, getDisplayLabel, getDisplayLabel, getDisplayProperty, getEffectiveModule, getElementFactory, getElementProperty, getEventHandlerClass, getExpressionProperty, getExtends, getExternalizedValue, getExternalizedValue, getExternalizedValue, getFactoryElementHandle, getFactoryPropertyHandle, getFloatProperty, getFontProperty, getFullName, getHostViewHandle, getID, getIndex, getIntProperty, getListProperty, getListProperty, getMethods, getModule, getModuleHandle, getName, getNumberProperty, getPrivateStyle, getProperty, getPropertyBinding, getPropertyBindingExpression, getPropertyBindings, getPropertyDefn, getPropertyHandle, getPropertyIterator, getQualifiedName, getRoot, getSemanticErrors, getSlot, getStringProperty, getStyle, getTagType, getUserProperties, getUserPropertyDefnHandle, getXPath, hasLocalProperties, hasSemanticError, initializeSlotHandles, isDirectionRTL, isInTemplateParameter, isTemplateParameterValue, isValid, localize, move, move, moveTo, moveTo, moveTo, moveTo, newHandlerOnEachEvent, paste, paste, paste, paste, removeListener, revertToReportItem, revertToTemplate, semanticCheck, setBooleanProperty, setEncryption, setEventHandlerClass, setExpressionProperty, setExtends, setExtendsElement, setExtendsName, setFloatProperty, setIntProperty, setName, setNewHandlerOnEachEvent, setNumberProperty, setProperties, setProperty, setPropertyBinding, setPropertyBinding, setStringProperty, setStyle, setStyleElement, setStyleName, setValid, shift, showError, slotsIterator`

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

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

## Constructor Details

### TemplateElementHandle

public TemplateElementHandle(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)
Constructs the handle for a report item with the given design and element. The application generally does not create handles directly. Instead, it uses one of the navigation methods available on other element handles.

Parameters:
  `module` - the module
  `element` - the model representation of the element

## Method Details

### getAllowedType

public String getAllowedType()
Gets allowed type of the template element.

Returns:
  the allowed type of the template element

### getDescription

public String getDescription()
Returns the static description for the template element.

Returns:
  the static description to display

### getDisplayDescription

public String getDisplayDescription()
Returns the localized description for the template element. If the localized description for the description resource key is found, it will be returned. Otherwise, the static description will be returned.

Returns:
  the localized description for the template element

### setDescription

public void setDescription(String description) throws SemanticException
Sets the description of the template element. Sets the static description itself. If the template element is to be externalized, then set the description ID separately.

Parameters:
  `description` - the new description for the template element
Throws:
  `SemanticException` - if the property is locked.

### getDescriptionKey

public String getDescriptionKey()
Returns the resource key of the static description of the template element.

Returns:
  the resource key of the static description

### setDescriptionKey

public void setDescriptionKey(String resourceKey) throws SemanticException
Sets the resource key of the static description of the template element.

Parameters:
  `resourceKey` - the resource key of the static description
Throws:
  `SemanticException` - if the property is locked.

### getDefaultElement

public DesignElementHandle getDefaultElement()
Gets the default element of this template element.

Returns:
  the default element of this template element

### copyDefaultElement

public IDesignElement copyDefaultElement()
Returns a copy for the default element in the template element.

Returns:
  a clone element of the default element