Project Wonder 2.0

er.directtoweb
Class ERDSmartAttributeAssignment

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

Deprecated. use ERDDefaultModelAssignment

public class ERDSmartAttributeAssignment
extends ERDAssignment

This class works around the following problem: An entity A has a relationship b to an entity B, which has a subentity B1. B1 has an attribute k, which B does not have. If in an inspect page for entity A, you use b.k as a display key, then the D2W rules which are based on d2wContext.attribute will not fire properly. This is because attribute is null, instead of containing . The reason D2W does not find it is that it uses the Model to find out the EOAttribute and starts from A. Following the relationship b, gives a B, and asking B for an attribute named k returns nil and you lose.

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
static NSArray _DEPENDENT_KEYS
          Deprecated. holds the array of keys this assignment depends on
 
Fields inherited from class er.directtoweb.ERDAssignment
D2WContextClassArray, log
 
Fields inherited from class com.webobjects.directtoweb.Assignment
KeyPathKey, ValueKey
 
Fields inherited from interface com.webobjects.eocontrol.EOKeyValueArchiving
_CLASS
 
Constructor Summary
ERDSmartAttributeAssignment(EOKeyValueUnarchiver u)
          Deprecated. Public constructor
ERDSmartAttributeAssignment(String key, Object value)
          Deprecated. Public constructor
 
Method Summary
static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver eokeyvalueunarchiver)
          Deprecated. Static constructor required by the EOKeyValueUnarchiver interface.
 NSArray dependentKeys(String keyPath)
          Deprecated. Implementation of the ERDComputingAssignmentInterface.
 Object smartAttribute(D2WContext c)
          Deprecated. Resolves the EOAttribute in a smarter manner using the current object from the context as well as the propertyKey to determine the current attribute.
 
Methods inherited from class er.directtoweb.ERDAssignment
booleanContextValueForKey, fire, keyForMethodLookup, localizedTemplateStringForKeyInContext, localizedValueForKeyInContext, localizedValueForKeyWithDefaultInContext, localizerForContext, logDeprecatedMessage
 
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
 

Field Detail

_DEPENDENT_KEYS

public static final NSArray _DEPENDENT_KEYS
Deprecated. 
holds the array of keys this assignment depends on

Constructor Detail

ERDSmartAttributeAssignment

public ERDSmartAttributeAssignment(EOKeyValueUnarchiver u)
Deprecated. 
Public constructor

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

ERDSmartAttributeAssignment

public ERDSmartAttributeAssignment(String key,
                                   Object value)
Deprecated. 
Public constructor

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

decodeWithKeyValueUnarchiver

public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver eokeyvalueunarchiver)
Deprecated. 
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)
Deprecated. 
Implementation of the ERDComputingAssignmentInterface. This assignment depends upon the context keys: "object.entityName" and "propertyKey". This array of keys is used when constructing the significant keys for the passed in keyPath.

Parameters:
keyPath - to compute significant keys for.
Returns:
array of context keys this assignment depends upon.

smartAttribute

public Object smartAttribute(D2WContext c)
Deprecated. 
Resolves the EOAttribute in a smarter manner using the current object from the context as well as the propertyKey to determine the current attribute. Works even with inheirtance.

Parameters:
c - current D2W context
Returns:
attribute for the current propertyKey object combination.

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

Copyright © 2002 – 2004 Project Wonder.