Xtools Transformation Providers
Identifier:
com.ibm.xtools.transform.core.transformationProviders
Description:
This extension point facilitates the configuration of providers for the transformation service
(com.ibm.xtools.transform.core.services.TransformationService).
The transformation service enables Xtools clients to register model transformations. These
transformations can be used to convert the data from one model into a different model. Typically
the source model is a UML based model with transformation specific profiles applied to that model.
The target model is typically a code model such as Java or J2EE (EJBs). The user chooses which
transformation is going to be applied to his source model.
Configuration Markup:
<!ELEMENT extension (TransformationProvider)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - The identifier of the extension point, e.g. com.ibm.xtools.transform.core.transformationProviders.
- id - The identifier of the extension, e.g. my.plugin.transformationProvider.
- name - The name of the extension, e.g. %ext.transformationProviderName.
<!ELEMENT TransformationProvider (Priority , Policy? , Transformation+)>
<!ATTLIST TransformationProvider
class CDATA #REQUIRED>
- class - The provider class creates instances of transformations and provides
validation to ensure that the transformation properties are
sufficiently initialized to enable the transformation to be executed.
This class should be derived from
com.ibm.xtools.transform.core.AbstractTransformationProvider.
<!ELEMENT Priority EMPTY>
<!ATTLIST Priority
name (Lowest|Low|Medium|High|Highest) >
- name - The name of the provider priority, i.e. Lowest, Low, Medium, High, or Highest.
<!ELEMENT Policy EMPTY>
<!ATTLIST Policy
class CDATA #REQUIRED
plugin CDATA #REQUIRED>
- class - The provider policy class. Provider policies can optionally be associated with providers to determine whether the providers provide a given operation.
- plugin - The plug-in containing the provider policy, i.e. com.ibm.xtools.common.core.provider.
<!ELEMENT Transformation (Property*)>
<!ATTLIST Transformation
author CDATA #IMPLIED
name CDATA #REQUIRED
id CDATA #REQUIRED
keywords CDATA #IMPLIED
description CDATA #IMPLIED
document CDATA #IMPLIED
extensible (true | false) "true"
icon CDATA #IMPLIED
sourceModelType CDATA #REQUIRED
targetModelType CDATA #REQUIRED
groupPath CDATA #REQUIRED
public (true | false) "true"
profiles CDATA #IMPLIED
version CDATA #REQUIRED
transformGUI CDATA #IMPLIED>
- author - The author of the transformation.
- name - The localized name of the transformation that the user will see.
- id - The unique identifier of the transformation.
- keywords - A list of associated keywords (separated by commas).
- description - A localized description of the transformation that the user will see.
- document - An HTML document reference containing detailed information on
what the transformation does and how it can be used. The referenced
HTML document can either be an URL or a file path relative
to the root directory of the plug-in.
- extensible - A boolean flag that indicates whether non-owner plug-ins can extend
this transformation. The default is extensible (true).
- icon - A relative path of an icon (e.g., GIF file) for this transformation. The icon should
be small enough to fit into a tree control (e.g., 16X16).
- sourceModelType - The type of source model that the transformation expects. The UI supports
the following model types by filtering the current selection:
UML2, UML2Notation, Resource and Raw (no filtering).
- targetModelType - The type of target model that the transformation generates.
- groupPath - A path, containing names separated by a slash (/), that is used to
categorize transformations. Each name in the path appears
as a node in a tree structure (similar to nested folders).
- public - Indicates whether this transformation is visible in the UI (public) or not (private).
If this attribute is not defined, the default value is public (true).
- profiles - A comma separated list of registered UML2 profile names. These profiles
are registered by the extension point
com.ibm.xtools.uml2.msl.UMLProfiles.
- version - The version of this transformation. The version format should
be compatible with the Eclipse version format: x.y.z.
- transformGUI - An optional class that enables transformation authors to integrate custom
GUI into the Transformation Configuration Manager. The specified
class must be derived from
com.ibm.xtools.transform.ui.AbstractTransformGUI.
<!ELEMENT Property EMPTY>
<!ATTLIST Property
name CDATA #REQUIRED
id CDATA #REQUIRED
description CDATA #IMPLIED
value CDATA #IMPLIED
metatype CDATA #IMPLIED
metatypeData CDATA #IMPLIED
maxValues CDATA #IMPLIED
delimiters CDATA #IMPLIED
readonly (true | false) "false">
- name - The localized name of the transformation property.
- id - The identifier of the transformation property which must be unique
within this transformation.
- description - A localized description of this transformation property.
- value - The default value of the transformation property. If the property is read-write,
before and during transformation
execution this value can overridden by changing it in the transformation context.
If the
"maxValues" attribute is not "1", this default value will be parsed
(using the "delimiters" attribute) to create a list of values instead of
a single value. If this attribute is not specified, the property value is null.
- metatype - Defines the underlying type of the property value(s). The property does
not enforce this metatype. It is simply information for the client that
interprets the property value. The default metatype value is "string".
- metatypeData - Defines the data associated with the underlying type of the property value(s).
The property does not interpret this metatype data. It is additional information
for the client that interprets the property value and can be used to define
constraints on the value. The default metatype data value is an empty string.
- maxValues - Defines the maximum number of values that can be defined for the property.
A number less than or equal to zero indicates an unlimited number of values.
The default maximum number of values is "1".
- delimiters - If a property can contain multiple values (maxValues != 1) and a
string is defined for the "value" attribute, this delimiters attribute
can be defined so that the single value string can be parsed into
multiple values (e.g., the keywords property expects a space separated
list of words as its "value" attribute).
The default delimiters are " \t\r\n\f".
- readonly - Identifies a property as being read-only that
cannot be changed at runtime. The default value is "false".
Examples:
Following is an example of a transformation provider extension:
<extension
point="com.ibm.xtools.transform.core.transformationProviders">
<TransformationProvider
class="my.plugin.providers.MyTransformationProvider">
<Priority
name="Highest">
</Priority>
<Transformation
name="%transform.name"
id="my.plugin.transformation.uml2.Java"
author="Some Body"
description="%transform.description"
document="docs/transformDetails.html"
version="1.0.0;
keywords="UML, Java, AppType"
sourceModelType="UML2 Resource"
targetModelType="Java">
<Property id="my.plugin.transformation.property1" name="%property1.name" value="defaultValue1" />
<Property id="my.plugin.transformation.property2" name="%property2.name" value="defaultValue2" />
</Transformation>
</TransformationProvider>
</extension>
API Information:
The value of the class attribute must be a subclass of
com.ibm.xtools.transform.core.AbstractTransformationProvider.
Supplied Implementation:
No information at this time.
© Copyright 2004 IBM Corporation. All Rights Reserved.