XTools Pattern Providers
Identifier:
com.ibm.xtools.patterns.core.patternProviders
Description:
The PatternProviders extension point is used to define where plugins may provide pattern content and create pattern instances for the pattern service
(com.ibm.xtools.patterns.internal.services.definitions.PatternService).
The pattern service implements the capability for discovering pattern content available from a variety of sources. Pattern definitions are organized into pattern libraries. A pattern library is specified as a RAS asset whose manifest is identified via a property of a PatternLibrary element of the extension. A pattern library contains one or more Pattern elements, each of which is also a separate RAS asset whose manifest is identified via a property.
The class property of the extension is the fully qualified class name of a class that extends the abstract class com.ibm.xtools.patterns.core.AbstractPatternInstanceProvider. This methods implemented by this class provide the actual runtime instances of the patterns that are defined in the libraries of the extension.
Configuration Markup:
<!ELEMENT extension (PatternProvider)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - The identifier of the extension point, i.e. com.ibm.xtools.patterns.core.patternProviders.
- id - The identifier of the extension, e.g. RASLocalRepositoryProvider.
- name - The name of the extension, e.g. %ext.RASLocalRepositoryProvider.
<!ELEMENT PatternProvider (Priority , Policy? , PatternLibrary*)>
<!ATTLIST PatternProvider
class CDATA #REQUIRED
dynamicProvider (true | false) >
- class - The provider class.
- dynamicProvider - The dynamicProvider attribute indicates whether all pattern definitions will be provided
dynamically at runtime or are defined statically in the plug.xml file (or other external file).
If the dynamicProvider attribute is "true", the pattern provider class must implement
all of the operations defined in the IPatternProvider interface; if "false", then the
provider delegates the discovery of its pattern definitions to a proxy and need only implement
the getPatternInstanceProvider operation; default is "false".
<!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 name of the plug-in containing the provider policy, i.e. com.ibm.xtools.common.core.provider.
<!ELEMENT PatternLibrary (Pattern+)>
<!ATTLIST PatternLibrary
manifest CDATA #REQUIRED
id CDATA #IMPLIED
version CDATA #IMPLIED>
A Pattern Library is a RAS asset. The contents of the manifest for a pattern library asset includes artifact references to the Pattern assets contained in the library.
- manifest - A reference to the RAS manifest for the pattern library.
- id - The unique identifier of the pattern library.
- version - The version of the pattern library.
The version format should be compatible with the Eclipse version format: major.minor.micro.
<!ELEMENT Pattern EMPTY>
<!ATTLIST Pattern
manifest CDATA #REQUIRED
groupPath CDATA #IMPLIED
id CDATA #IMPLIED
version CDATA #IMPLIED>
A Pattern is a RAS asset. The contents of the manifest for a pattern asset includes information about the structure and behavior of the pattern.
- manifest - A reference to the RAS manifest for the pattern.
- groupPath - The paths of logical groups to which the patterns is assigned. A group path is a sequence of names delimited by a slash (/). If a pattern is assigned to more than one group, then the group paths are delimited by a semicolon (;).
- id - The unique identifier of the pattern.
- version - The version of the pattern library. The version format should be compatible with the Eclipse version format: major.minor.micro.
Examples:
Following is an example of a pattern provider extension:
<extension
point="com.ibm.xtools.patterns.core.patternProviders"
id="RASLocalRepositoryProvider"
name="%ext.RASLocalRepositoryProvider">
<PatternProvider
class="com.ibm.xtools.ras.internal.providers.LocalRepositoryProvider">
<Priority name="Medium"></Priority>
</PatternProvider>
</extension>
API Information:
The value of the class attribute must be the fully qualified name of
a class that extends com.ibm.xtools.patterns.core.AbstractPatternInstanceProvider.
Supplied Implementation:
The Xtools RAS plugin implements at least one proxy pattern provider, which is defined in the
com.ibm.xtools.patterns.repository.provider plug-in.
© Copyright 2003-2004 IBM Corporation. All Rights Reserved.