nl.cwi.sen1.modulemanager.model
Class ModuleDatabase
java.lang.Object
nl.cwi.sen1.modulemanager.model.ModuleDatabase
- Direct Known Subclasses:
- ModuleGraph
public class ModuleDatabase
- extends java.lang.Object
Method Summary |
void |
addDependency(nl.cwi.sen1.moduleapi.types.ModuleId moduleFromId,
nl.cwi.sen1.moduleapi.types.ModuleId moduleToId)
|
void |
addModule(Module module,
nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
private boolean |
checkRuleViolation(aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm predicate,
aterm.ATerm rule)
|
private void |
deleteAllDependencies(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
void |
deleteDependencies(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
void |
deleteDependency(nl.cwi.sen1.moduleapi.types.ModuleId moduleFromId,
nl.cwi.sen1.moduleapi.types.ModuleId moduleToId)
|
void |
deleteModuleAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key)
|
private boolean |
evaluateAll(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private boolean |
evaluateAnd(aterm.ATerm op1,
aterm.ATerm op2,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private boolean |
evaluateNot(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private boolean |
evaluateOne(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private boolean |
evaluateOr(aterm.ATerm op1,
aterm.ATerm op2,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private boolean |
evaluateSet(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id,
aterm.ATerm namespace,
aterm.ATerm key)
|
private void |
fireAttributeSetListener(nl.cwi.sen1.moduleapi.types.ModuleId id,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm oldValue,
aterm.ATerm newValue)
|
nl.cwi.sen1.moduleapi.types.AttributeStore |
getAllAttributes(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> |
getAllChildren(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> |
getAllModules()
|
java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> |
getAllParents(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> |
getChildren(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> |
getClosableModules(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
java.util.Map<nl.cwi.sen1.moduleapi.types.ModuleId,java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId>> |
getDependencies()
|
aterm.ATerm |
getModuleAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key)
|
nl.cwi.sen1.moduleapi.types.ModuleId |
getModuleIdByAttribute(aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm value)
|
int |
getNextModuleId()
|
java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> |
getParents(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
private boolean |
innermostRuleEvaluation(aterm.ATerm rule,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
void |
printStatistics()
|
private void |
propagate(AttributeUpdateRule rule,
nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private void |
propagateToParents(nl.cwi.sen1.moduleapi.types.ModuleId id)
|
void |
registerAttributeUpdateRule(aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm rule,
aterm.ATerm value)
|
void |
removeModule(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
|
void |
setAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm value)
|
private void |
triggerAllAttributeUpdateRules(nl.cwi.sen1.moduleapi.types.ModuleId id)
|
private void |
triggerAllAttributeUpdateRulesOnAllModules()
|
private void |
updateAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm value)
|
private void |
updatePredicate(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm predicate)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
moduleCount
private int moduleCount
modules
protected java.util.Map<nl.cwi.sen1.moduleapi.types.ModuleId,Module> modules
descendants
protected java.util.Map<nl.cwi.sen1.moduleapi.types.ModuleId,java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId>> descendants
transDescendants
private java.util.Map<nl.cwi.sen1.moduleapi.types.ModuleId,java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId>> transDescendants
attributeUpdateRules
private AttributeUpdateRuleMap attributeUpdateRules
ascendants
private java.util.Map<nl.cwi.sen1.moduleapi.types.ModuleId,java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId>> ascendants
listener
private AttributeSetListener listener
modalAND
private aterm.AFun modalAND
modalOR
private aterm.AFun modalOR
modalNOT
private aterm.AFun modalNOT
modalONE
private aterm.AFun modalONE
modalALL
private aterm.AFun modalALL
modalSET
private aterm.AFun modalSET
ModuleDatabase
public ModuleDatabase(AttributeSetListener l,
aterm.pure.PureFactory factory)
getNextModuleId
public int getNextModuleId()
addModule
public void addModule(Module module,
nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
removeModule
public void removeModule(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
triggerAllAttributeUpdateRulesOnAllModules
private void triggerAllAttributeUpdateRulesOnAllModules()
triggerAllAttributeUpdateRules
private void triggerAllAttributeUpdateRules(nl.cwi.sen1.moduleapi.types.ModuleId id)
setAttribute
public void setAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm value)
updateAttribute
private void updateAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm value)
updatePredicate
private void updatePredicate(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm predicate)
fireAttributeSetListener
private void fireAttributeSetListener(nl.cwi.sen1.moduleapi.types.ModuleId id,
aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm oldValue,
aterm.ATerm newValue)
propagateToParents
private void propagateToParents(nl.cwi.sen1.moduleapi.types.ModuleId id)
propagate
private void propagate(AttributeUpdateRule rule,
nl.cwi.sen1.moduleapi.types.ModuleId id)
getModuleAttribute
public aterm.ATerm getModuleAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key)
getModuleIdByAttribute
public nl.cwi.sen1.moduleapi.types.ModuleId getModuleIdByAttribute(aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm value)
getAllModules
public java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> getAllModules()
deleteModuleAttribute
public void deleteModuleAttribute(nl.cwi.sen1.moduleapi.types.ModuleId moduleId,
aterm.ATerm namespace,
aterm.ATerm key)
getAllAttributes
public nl.cwi.sen1.moduleapi.types.AttributeStore getAllAttributes(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
addDependency
public void addDependency(nl.cwi.sen1.moduleapi.types.ModuleId moduleFromId,
nl.cwi.sen1.moduleapi.types.ModuleId moduleToId)
getChildren
public java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> getChildren(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
getAllChildren
public java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> getAllChildren(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
getParents
public java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> getParents(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
getAllParents
public java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> getAllParents(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
getClosableModules
public java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId> getClosableModules(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
deleteDependency
public void deleteDependency(nl.cwi.sen1.moduleapi.types.ModuleId moduleFromId,
nl.cwi.sen1.moduleapi.types.ModuleId moduleToId)
deleteDependencies
public void deleteDependencies(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
deleteAllDependencies
private void deleteAllDependencies(nl.cwi.sen1.moduleapi.types.ModuleId moduleId)
getDependencies
public java.util.Map<nl.cwi.sen1.moduleapi.types.ModuleId,java.util.Set<nl.cwi.sen1.moduleapi.types.ModuleId>> getDependencies()
printStatistics
public void printStatistics()
registerAttributeUpdateRule
public void registerAttributeUpdateRule(aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm rule,
aterm.ATerm value)
checkRuleViolation
private boolean checkRuleViolation(aterm.ATerm namespace,
aterm.ATerm key,
aterm.ATerm predicate,
aterm.ATerm rule)
innermostRuleEvaluation
private boolean innermostRuleEvaluation(aterm.ATerm rule,
nl.cwi.sen1.moduleapi.types.ModuleId id)
evaluateAnd
private boolean evaluateAnd(aterm.ATerm op1,
aterm.ATerm op2,
nl.cwi.sen1.moduleapi.types.ModuleId id)
evaluateOr
private boolean evaluateOr(aterm.ATerm op1,
aterm.ATerm op2,
nl.cwi.sen1.moduleapi.types.ModuleId id)
evaluateNot
private boolean evaluateNot(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id)
evaluateOne
private boolean evaluateOne(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id)
evaluateAll
private boolean evaluateAll(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id)
evaluateSet
private boolean evaluateSet(aterm.ATerm op,
nl.cwi.sen1.moduleapi.types.ModuleId id,
aterm.ATerm namespace,
aterm.ATerm key)