org.eclipse.actf.validation.rulebase
Class RuleBaseManager

java.lang.Object
  extended by org.eclipse.actf.validation.rulebase.RuleBaseManager

public class RuleBaseManager
extends Object

class that manages the ACTF RuleBases. The RuleBases are stored in a Map using their name as a key. The RuleBaseManager can also find a IRuleBase for a target class by it's fully qualified class name.

The RuleBases are loaded as needed. When a target is to be validated, it's fully qualified class name can be used to match a regular expression defining which IRuleBase is to be used.

Note: Only document rulebases (i.e. rulebases defined with validation documents) are currently supported.

Author:
John Buslawski

Constructor Summary
protected RuleBaseManager()
           
 
Method Summary
 void addRuleBase(IRuleBase iRuleBase)
           
 void addRuleBase(IRuleBaseDescriptor descriptor)
           
 void buildRuleBases(RuleBaseMapDocument rbDoc)
           
 void clearAll()
           
 void clearRuleBaseMappings()
           
 void clearRuleBases()
           
 void clearTargetToRuleBaseLinks()
           
static RuleBaseManager getInstance()
           
 IRuleBase getRuleBase(String name)
           
 IRuleBaseDescriptor[] getRuleBaseDescriptors()
           
 IRuleBase[] getRuleBasesByTarget(Object target)
           
 IRuleBase[] getRuleBasesByTargetName(String targetName)
           
 void linkTargetToRuleBase(String targetName, String ruleBaseName)
           
protected  void loadRuleBase(DocumentRuleBaseDescriptor rbDescriptor)
           
 void removeLinksToTarget(String targetName)
           
 void removeRuleBase(String name)
           
 void unlinkTargetFromRuleBase(String targetName, String ruleBaseName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RuleBaseManager

protected RuleBaseManager()
Method Detail

getInstance

public static RuleBaseManager getInstance()
Returns:
The unique instance of this class.

addRuleBase

public void addRuleBase(IRuleBase iRuleBase)

clearAll

public void clearAll()

clearRuleBases

public void clearRuleBases()

clearRuleBaseMappings

public void clearRuleBaseMappings()

clearTargetToRuleBaseLinks

public void clearTargetToRuleBaseLinks()

getRuleBase

public IRuleBase getRuleBase(String name)

removeRuleBase

public void removeRuleBase(String name)

getRuleBaseDescriptors

public IRuleBaseDescriptor[] getRuleBaseDescriptors()

addRuleBase

public void addRuleBase(IRuleBaseDescriptor descriptor)

linkTargetToRuleBase

public void linkTargetToRuleBase(String targetName,
                                 String ruleBaseName)

unlinkTargetFromRuleBase

public void unlinkTargetFromRuleBase(String targetName,
                                     String ruleBaseName)

removeLinksToTarget

public void removeLinksToTarget(String targetName)

getRuleBasesByTarget

public IRuleBase[] getRuleBasesByTarget(Object target)

getRuleBasesByTargetName

public IRuleBase[] getRuleBasesByTargetName(String targetName)

loadRuleBase

protected void loadRuleBase(DocumentRuleBaseDescriptor rbDescriptor)

buildRuleBases

public void buildRuleBases(RuleBaseMapDocument rbDoc)