/* * Copyright (C) NetStruxr, Inc. All rights reserved. * * This software is published under the terms of the NetStruxr * Public Software License version 0.5, a copy of which has been * included with this distribution in the LICENSE.NPL file. */ package er.directtoweb.assignments.delayed; import com.webobjects.directtoweb.Assignment; import com.webobjects.directtoweb.D2WContext; import com.webobjects.eocontrol.EOKeyValueUnarchiver; // This is essentially an assignment that will be fired everytime, note that the ERD2WModel will // cache the assignment instead of the value it returns. // Interesting subclasses are DelayedBooleanAssignment and DelayedConditionalAssignment /** * Crazy assignment used when you actually don't want the computed value cached. */ public abstract class ERDDelayedAssignment extends Assignment { /** * Do I need to update serialVersionUID? * See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the * <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a> */ private static final long serialVersionUID = 1L; /** * Public constructor * @param u key-value unarchiver used when unarchiving * from rule files. */ public ERDDelayedAssignment(EOKeyValueUnarchiver u) { super(u); } /** * Public constructor * @param key context key * @param value of the assignment */ public ERDDelayedAssignment(String key, Object value) { super(key,value); } // ENHANCEME: Might want to make this method final @Override public Object fire(D2WContext c) { return this; } /** * Implemented by subclasses. */ public abstract Object fireNow(D2WContext c); }