public class MetadataBuilder extends AbstractRulesetMetadata implements RuleProviderMetadata
RuleProviderMetadata instances. Provides sensible defaults using given required values.
If RulesetMetadata is available in the Addon in which this MetadataBuilder was constructed, this will inherit values from
RulesetMetadata for getTags(), getSourceTechnologies(), getTargetTechnologies() and getRequiredAddons().
Inherited metadata is specified by setRulesetMetadata(RulesetMetadata), and is typically performed by the RuleProviderLoader
implementation.
| Modifier and Type | Field and Description |
|---|---|
static Class<? extends RulePhase> |
DEFAULT_PHASE |
| Modifier and Type | Method and Description |
|---|---|
MetadataBuilder |
addExecuteAfter(Class<? extends RuleProvider> type)
Ad an entry to the list of
RuleProvider classes that should execute after the Rule instances in the corresponding
RuleProvider instance. |
MetadataBuilder |
addExecuteAfterId(String id)
Add an entry to the list of the
RuleProvider classes that should execute before the Rule instances in the corresponding
RuleProvider instance. |
MetadataBuilder |
addExecuteBefore(Class<? extends RuleProvider> type)
Ad an entry to the list of
RuleProvider classes that should execute after the Rule instances in the corresponding
RuleProvider instance. |
MetadataBuilder |
addExecuteBeforeId(String id)
Add to the list of the
RuleProvider classes that should execute after the Rule instances in the corresponding
RuleProvider instance. |
MetadataBuilder |
addRequiredAddon(org.jboss.forge.furnace.addons.AddonId reference)
Add to the
Set of Addons required to run this rule-set. |
MetadataBuilder |
addSourceTechnology(TechnologyReference reference)
|
MetadataBuilder |
addTag(String tag) |
MetadataBuilder |
addTags(String tag,
String... tags)
Add to the
Set of tags by which this RulesetMetadata is classified. |
MetadataBuilder |
addTargetTechnology(TechnologyReference reference)
|
boolean |
equals(Object o) |
static MetadataBuilder |
forProvider(Class<? extends RuleProvider> implementationType)
Create a new
RuleProviderMetadata builder instance for the given RuleProvider type, using the provided parameters and
RulesetMetadata to seed sensible defaults. |
static MetadataBuilder |
forProvider(Class<? extends RuleProvider> implementationType,
String providerId)
Create a new
RuleProviderMetadata builder instance for the given RuleProvider type, and String ID, using the provided
parameters and RulesetMetadata to seed sensible defaults. |
String |
getDescription()
Returns a human-readable description the rules associated with this
RulesetMetadata. |
List<Class<? extends RuleProvider>> |
getExecuteAfter()
Returns a list of
RuleProvider classes that should execute before the Rule instances in this corresponding RuleProvider
. |
List<String> |
getExecuteAfterIDs()
Returns a list of the
RuleProvider classes that should execute before the Rules in this
RuleProvider. |
List<Class<? extends RuleProvider>> |
getExecuteBefore()
|
List<String> |
getExecuteBeforeIDs()
Returns a list of the
RuleProvider classes that should execute after the Rules in this
RuleProvider. |
String |
getOrigin()
Returns a descriptive
String, informing a human where they can find the Rule instances provided
by this RuleProvider. |
Class<? extends RulePhase> |
getPhase()
|
Set<org.jboss.forge.furnace.addons.AddonId> |
getRequiredAddons()
Return the
Set of Addons required to run this rule-set. |
RulesetMetadata |
getRulesetMetadata()
Returns the
RulesetMetadata, if any, for the rule-set from which this RuleProviderMetadata
originated. |
Set<TechnologyReference> |
getSourceTechnologies()
|
Set<String> |
getTags()
Return the
Set of tags by which this RulesetMetadata is classified. |
Set<TechnologyReference> |
getTargetTechnologies()
|
Class<? extends RuleProvider> |
getType()
Returns the
Class of the corresponding RuleProvider. |
int |
hashCode() |
boolean |
isDisabled()
If true, Windup will skip running this RuleProvider.
|
boolean |
isHaltOnException()
Whether Windup should stop execution if this provider's rule execution ends with an exception.
|
boolean |
isOverrideProvider()
Indicates whether or not the rules in this provider should override other rules.
|
MetadataBuilder |
setDescription(String description)
Sets the human readable description.
|
MetadataBuilder |
setExecuteAfter(List<Class<? extends RuleProvider>> executeAfter)
Set the list of
RuleProvider classes that should execute before the Rule instances in the corresponding RuleProvider
instance. |
MetadataBuilder |
setExecuteAfterIDs(List<String> executeAfterIDs)
Set the list of the
RuleProvider classes that should execute before the Rule instances in the corresponding
RuleProvider instance. |
MetadataBuilder |
setExecuteBefore(List<Class<? extends RuleProvider>> executeBefore)
Set the list of
RuleProvider classes that should execute after the Rule instances in the corresponding RuleProvider
instance. |
MetadataBuilder |
setExecuteBeforeIDs(List<String> executeBeforeIDs)
Set the list of the
RuleProvider classes that should execute after the Rule instances in the corresponding RuleProvider
instance. |
MetadataBuilder |
setHaltOnException(boolean haltOnException)
Whether Windup should stop execution if this provider's rule execution ends with an exception.
|
MetadataBuilder |
setOrigin(String origin)
Set the descriptive information indicating where the corresponding
RuleProvider instance is located (eg, a path to an XML file on disk,
or an Addon coordinate and class name). |
MetadataBuilder |
setOverrideProvider(boolean overrideProvider)
Sets whether or not this provider's rules should override rules from other providers
with the same ID.
|
MetadataBuilder |
setPhase(Class<? extends RulePhase> phase)
Set the
RulePhase in which the Rule instances from the corresponding RuleProvider instance should be executed. |
MetadataBuilder |
setRulesetMetadata(RulesetMetadata parent) |
MetadataBuilder |
setTags(List<String> tags)
Set the tags by which this
RulesetMetadata is classified. |
getID, hasTags, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetID, hasTagspublic static MetadataBuilder forProvider(Class<? extends RuleProvider> implementationType)
RuleProviderMetadata builder instance for the given RuleProvider type, using the provided parameters and
RulesetMetadata to seed sensible defaults.public static MetadataBuilder forProvider(Class<? extends RuleProvider> implementationType, String providerId)
RuleProviderMetadata builder instance for the given RuleProvider type, and String ID, using the provided
parameters and RulesetMetadata to seed sensible defaults.public boolean equals(Object o)
equals in class AbstractRulesetMetadatapublic int hashCode()
hashCode in class AbstractRulesetMetadatapublic Class<? extends RuleProvider> getType()
RuleProviderMetadataClass of the corresponding RuleProvider.getType in interface RuleProviderMetadatapublic RulesetMetadata getRulesetMetadata()
RuleProviderMetadataRulesetMetadata, if any, for the rule-set from which this RuleProviderMetadata
originated.getRulesetMetadata in interface RuleProviderMetadatapublic MetadataBuilder setRulesetMetadata(RulesetMetadata parent)
public boolean isOverrideProvider()
RuleProviderMetadataisOverrideProvider in interface RuleProviderMetadatapublic MetadataBuilder setOverrideProvider(boolean overrideProvider)
public String getOrigin()
RulesetMetadataString, informing a human where they can find the Rule instances provided
by this RuleProvider.getOrigin in interface RulesetMetadatagetOrigin in class AbstractRulesetMetadatapublic MetadataBuilder setOrigin(String origin)
RuleProvider instance is located (eg, a path to an XML file on disk,
or an Addon coordinate and class name).public Class<? extends RulePhase> getPhase()
RuleProviderMetadataRulePhase in which Rule instances from this RuleProvider should be executed.
The default phase is MigrationRulesPhase.
getPhase in interface RuleProviderMetadatapublic MetadataBuilder setPhase(Class<? extends RulePhase> phase)
RulePhase in which the Rule instances from the corresponding RuleProvider instance should be executed.
The default phase is MigrationRulesPhase.
public List<Class<? extends RuleProvider>> getExecuteAfter()
RuleProviderMetadataRuleProvider classes that should execute before the Rule instances in this corresponding RuleProvider
.
RuleProviders can also be specified based on id (RuleProviderMetadata.getExecuteAfterIDs()).getExecuteAfter in interface RuleProviderMetadatapublic MetadataBuilder setExecuteAfter(List<Class<? extends RuleProvider>> executeAfter)
RuleProvider classes that should execute before the Rule instances in the corresponding RuleProvider
instance.
RuleProvider references can also be specified based on id (getExecuteAfterIDs()).
public MetadataBuilder addExecuteAfter(Class<? extends RuleProvider> type)
RuleProvider classes that should execute after the Rule instances in the corresponding
RuleProvider instance.
RuleProviders can also be specified based on id (getExecuteBeforeIDs()).public MetadataBuilder setDescription(String description)
public String getDescription()
RulesetMetadataRulesetMetadata.getDescription in interface RulesetMetadatagetDescription in class AbstractRulesetMetadatapublic List<String> getExecuteAfterIDs()
RuleProviderMetadataRuleProvider classes that should execute before the Rules in this
RuleProvider.
This is returned as a list of Rule IDs in order to support extensions that cannot depend on each other
via class names. For example, in the case of the Groovy rules extension, a single class covers many rules with
their own IDs.
For specifying Java-based rules, RuleProviderMetadata.getExecuteAfter() is preferred.getExecuteAfterIDs in interface RuleProviderMetadatapublic MetadataBuilder setExecuteAfterIDs(List<String> executeAfterIDs)
RuleProvider classes that should execute before the Rule instances in the corresponding
RuleProvider instance.
This is returned as a list of Rule IDs in order to support extensions that cannot depend on each other via class names. For example, in the
case of the Groovy rules extension, a single class covers many rules with their own IDs.
For specifying Java-based rules, getExecuteAfter() is preferred.
public MetadataBuilder addExecuteAfterId(String id)
RuleProvider classes that should execute before the Rule instances in the corresponding
RuleProvider instance.
This is returned as a list of Rule IDs in order to support extensions that cannot depend on each other via class names. For example, in the
case of the Groovy rules extension, a single class covers many rules with their own IDs.
For specifying Java-based rules, getExecuteAfter() is preferred.
public List<Class<? extends RuleProvider>> getExecuteBefore()
RuleProviderMetadataRuleProvider classes that should execute after the Rules in this RuleProvider.
RuleProviders can also be specified based on id (RuleProviderMetadata.getExecuteBeforeIDs()).getExecuteBefore in interface RuleProviderMetadatapublic MetadataBuilder setExecuteBefore(List<Class<? extends RuleProvider>> executeBefore)
RuleProvider classes that should execute after the Rule instances in the corresponding RuleProvider
instance.
RuleProviders can also be specified based on id (getExecuteBeforeIDs()).public MetadataBuilder addExecuteBefore(Class<? extends RuleProvider> type)
RuleProvider classes that should execute after the Rule instances in the corresponding
RuleProvider instance.
RuleProviders can also be specified based on id (getExecuteBeforeIDs()).public List<String> getExecuteBeforeIDs()
RuleProviderMetadataRuleProvider classes that should execute after the Rules in this
RuleProvider.
This is returned as a list of Rule IDs in order to support extensions that cannot depend on each other
via Class names. For example, in the case of the Groovy rules extension, a single class covers many rules
with their own IDs.
For specifying Java-based rules, RuleProviderMetadata.getExecuteBefore() is preferred.getExecuteBeforeIDs in interface RuleProviderMetadatapublic MetadataBuilder setExecuteBeforeIDs(List<String> executeBeforeIDs)
RuleProvider classes that should execute after the Rule instances in the corresponding RuleProvider
instance.
This is returned as a list of Rule IDs in order to support extensions that cannot depend on each other via class names. For example, in the
case of the Groovy rules extension, a single class covers many rules with their own IDs.
For specifying Java-based rules, getExecuteBefore() is preferred.
public MetadataBuilder addExecuteBeforeId(String id)
RuleProvider classes that should execute after the Rule instances in the corresponding
RuleProvider instance.
This is returned as a list of Rule IDs in order to support extensions that cannot depend on each other via class names. For example, in the
case of the Groovy rules extension, a single class covers many rules with their own IDs.
For specifying Java-based rules, getExecuteBefore() is preferred.
public MetadataBuilder addTags(String tag, String... tags)
Set of tags by which this RulesetMetadata is classified.
Inherits from RulesetMetadata.getTags() if available.
public MetadataBuilder addTag(String tag)
public Set<String> getTags()
RulesetMetadataSet of tags by which this RulesetMetadata is classified.getTags in interface RulesetMetadatagetTags in class AbstractRulesetMetadatapublic MetadataBuilder setTags(List<String> tags)
RulesetMetadata is classified.
Inherits from RulesetMetadata.getTags() if available.
public Set<TechnologyReference> getSourceTechnologies()
RulesetMetadatagetSourceTechnologies in interface RulesetMetadatagetSourceTechnologies in class AbstractRulesetMetadatapublic MetadataBuilder addSourceTechnology(TechnologyReference reference)
Set of source TechnologyReference instances to which this RuleProvider is related.
Inherits from RulesetMetadata.getSourceTechnologies() if available.
public Set<TechnologyReference> getTargetTechnologies()
RulesetMetadatagetTargetTechnologies in interface RulesetMetadatagetTargetTechnologies in class AbstractRulesetMetadatapublic MetadataBuilder addTargetTechnology(TechnologyReference reference)
Set of target TechnologyReference instances to which this RuleProvider is related.
Inherits from RulesetMetadata.getTargetTechnologies() if available.
public Set<org.jboss.forge.furnace.addons.AddonId> getRequiredAddons()
RulesetMetadataSet of Addons required to run this rule-set. (Note: This is typically only used
in situations where rules are provided externally - such as XML - whereas in Java, the Addon will already
define its dependencies on other addons directly.)getRequiredAddons in interface RulesetMetadatagetRequiredAddons in class AbstractRulesetMetadatapublic MetadataBuilder addRequiredAddon(org.jboss.forge.furnace.addons.AddonId reference)
Set of Addons required to run this rule-set. (Note: This is typically only used in situations where rules are
provided externally - such as XML - whereas in Java, the Addon will already define its dependencies on other addons directly.)
Inherits from RulesetMetadata.getRequiredAddons() if available.
public MetadataBuilder setHaltOnException(boolean haltOnException)
public boolean isHaltOnException()
RuleProviderMetadataisHaltOnException in interface RuleProviderMetadatapublic boolean isDisabled()
RuleProviderMetadataisDisabled in interface RuleProviderMetadataCopyright © 2021 JBoss by Red Hat. All rights reserved.