com.taggercat.rules
Class DerivationList

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<java.lang.String,Derivation>
          extended by com.taggercat.rules.DerivationList
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,Derivation>

public class DerivationList
extends java.util.HashMap<java.lang.String,Derivation>

This class encapsulates the processing of a list of derivations on an entity. The derivation list is sequenced so that the derivation are executed in correct order based upon a property dependency list. The parsing and sequencing of derivation expressions is currently performed and cached at the MetadataReader instance.

See Also:
Serialized Form
 

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Constructor Summary
DerivationList(Model model, java.lang.String entityName)
           
 
Method Summary
 void assignDependents()
          Assign dependent derivations to their parent.
 void assignResults(DataSource ds, TCEntity entity, com.taggercat.el.ELContext elContext)
          Assigns results of the derivation expression to the target entity.
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

DerivationList

public DerivationList(Model model,
                      java.lang.String entityName)
Method Detail

assignDependents

public void assignDependents()
Assign dependent derivations to their parent. Where a dependent derivation is one who's terms include the target property of a parent derivation ( if any).


assignResults

public void assignResults(DataSource ds,
                          TCEntity entity,
                          com.taggercat.el.ELContext elContext)
                   throws PropertyValueException
Assigns results of the derivation expression to the target entity.

Throws:
java.lang.Exception
PropertyValueException
Parameters:
ds - the owning data source
entity - the target entity