01: /*
02: * Created on Nov 23, 2004
03: */
04: package uk.org.ponder.rsf.request;
05:
06: import java.io.Serializable;
07:
08: /**
09: * Represents a submitted value as received from a user submission. For
10: * full coverage, we must know
11: * <br>- the (full) ID of the component producing the submission
12: * <br>- the value binding for the submitted value
13: * <br>- the initial value presented to the UI when the view was rendered.
14: * These values, once accumulated, are stored inside the
15: * {@link RequestSubmittedValueCache}
16: * In addition to encoding a component submission, an SVE may either
17: * represent a deletion binding or a pure EL binding.
18: * @author Antranig Basman (antranig@caret.cam.ac.uk)
19: */
20: public class SubmittedValueEntry implements Serializable {
21:
22: /** The key used in the parameters of a command link (and hence in the
23: * servlet request) whose value is the method binding EL to be invoked on
24: * this request.
25: */
26: public static final String FAST_TRACK_ACTION = "Fast track action";
27:
28: /** The key used to find the ID of the <it>submitting control</it> used
29: * to produce this submission, which is that of the corresponding UIForm
30: * component. For "WAP-style" forms this may well be the same as the
31: * physical submitting control.
32: */
33: public static final String SUBMITTING_CONTROL = "Submitting control";
34: /** The EL path (without #{}) that is the l-value target of this binding.
35: */
36: public String valuebinding;
37: /** The EL path (without #{}) that may be used to look up a reshaper
38: * to be applied before converting this SVE into a DAR.
39: */
40: public String reshaperbinding;
41: /** The full ID of the component giving rise to this submission.
42: * This will be null for a non-component binding. */
43:
44: public String componentid;
45: /** The value held by the component at the time the view holding it was
46: * rendered. This was the initial value seen by the user at render time.
47: * Either an object of type String or String[]. Holds an additional value
48: * (binding or EL) in the case of a non-component binding.
49: */
50: public Object oldvalue;
51: /** The value received back to the system via the (current) submission.
52: * Initially set to the raw String[] value in the request, but normalised
53: * to (at least) a UIType by FossilizedConverted.fixupNewValue.
54: */
55: public Object newvalue;
56: /** Holds <code>true</code> in the case the rvalue (encoded in oldvalue)
57: * of this non-component binding represents an EL binding, rather
58: * than a serialised object */
59: public boolean isEL;
60: /** Holds <code>true</code> if this submitted value is a deletion binding.
61: * <code>isEL</code> may also be <code>true</code>, and may have been the
62: * cause of filling in <code>newvalue</code>
63: */
64: public boolean isdeletion = false;
65: /** If set to <code>true</code> the application of this SVE will pass all
66: * "unchanged value culling" and be definitely applied to the model.
67: */
68: public boolean mustapply = false;
69: }
|