Project Wonder 2.0

er.directtoweb
Class ERDDelayedKeyValueAssignment

java.lang.Object
  extended bycom.webobjects.directtoweb.Assignment
      extended byer.directtoweb.ERDDelayedAssignment
          extended byer.directtoweb.ERDDelayedKeyValueAssignment
All Implemented Interfaces:
EOKeyValueArchiving, ERDComputingAssignmentInterface, Serializable

public class ERDDelayedKeyValueAssignment
extends ERDDelayedAssignment
implements ERDComputingAssignmentInterface

This is an implementation of the KeyValueAssignment implemented as a ERDDelayedAssignment. In the usual cache scheme key-value assignments are cached the first time that they are used. This may not be the intended use, i.e. you have a key value assignment with the value "session.user.firstName", the result of this computation would be cached the first time this rule is fired. With a delayed key value assignment everytime this assignment is the optimal choice from the cache it will be fired and return that result.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class com.webobjects.eocontrol.EOKeyValueArchiving
EOKeyValueArchiving._NullValueSupport, EOKeyValueArchiving._NumberSupport, EOKeyValueArchiving._TimestampSupport, EOKeyValueArchiving.Awaking, EOKeyValueArchiving.FinishInitialization, EOKeyValueArchiving.Support
 
Field Summary
 
Fields inherited from class com.webobjects.directtoweb.Assignment
KeyPathKey, ValueKey
 
Fields inherited from interface com.webobjects.eocontrol.EOKeyValueArchiving
_CLASS
 
Constructor Summary
ERDDelayedKeyValueAssignment(EOKeyValueUnarchiver u)
          Public constructor
ERDDelayedKeyValueAssignment(String key, Object value)
          Public constructor
 
Method Summary
static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver eokeyvalueunarchiver)
          Static constructor required by the EOKeyValueUnarchiver interface.
 NSArray dependentKeys(String keyPath)
          Implementation of the ERDComputingAssignmentInterface.
 Object fireNow(D2WContext c)
          Implementation of the abstract method from ERDDelayedAssignment.
 
Methods inherited from class er.directtoweb.ERDDelayedAssignment
fire
 
Methods inherited from class com.webobjects.directtoweb.Assignment
encodeWithKeyValueArchiver, keyPath, toString, value, value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ERDDelayedKeyValueAssignment

public ERDDelayedKeyValueAssignment(EOKeyValueUnarchiver u)
Public constructor

Parameters:
u - key-value unarchiver used when unarchiving from rule files.

ERDDelayedKeyValueAssignment

public ERDDelayedKeyValueAssignment(String key,
                                    Object value)
Public constructor

Parameters:
key - context key
value - of the assignmnet
Method Detail

decodeWithKeyValueUnarchiver

public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver eokeyvalueunarchiver)
Static constructor required by the EOKeyValueUnarchiver interface. If this isn't implemented then the default behavior is to construct the first super class that does implement this method. Very lame.

Parameters:
eokeyvalueunarchiver - to be unarchived
Returns:
decoded assignment of this class

dependentKeys

public NSArray dependentKeys(String keyPath)
Implementation of the ERDComputingAssignmentInterface. This assignment depends upon an array composed of the value of this assignment. This array of keys is used when constructing the significant keys for the passed in keyPath.

Specified by:
dependentKeys in interface ERDComputingAssignmentInterface
Parameters:
keyPath - to compute significant keys for.
Returns:
array of context keys this assignment depends upon.

fireNow

public Object fireNow(D2WContext c)
Implementation of the abstract method from ERDDelayedAssignment. This method is called each time this Assignment is resolved from the rule cache. For the delayed key value assignment this method simply calls valueForKeyPath on the passed in context using the value of the assignment as the key.

Specified by:
fireNow in class ERDDelayedAssignment
Parameters:
c - current D2W context
Returns:
result of valueForKeyPath called on the current context with the value of this assignment.

Last updated: Do, Dez 9, 2004 • 12:46 PM CET

Copyright © 2002 – 2004 Project Wonder.