01: /*
02: * Created on Dec 8, 2003
03: *
04: * To change the template for this generated file go to
05: * Window>Preferences>Java>Code Generation>Code and Comments
06: */
07: package org.xdev.base.xssl;
08:
09: import java.util.HashMap;
10:
11: /**
12: * @author AYegorov
13: *
14: * To change the template for this generated type comment go to
15: * Window>Preferences>Java>Code Generation>Code and Comments
16: */
17: public abstract class XSSLReference extends XReference {
18: private Object returnObject = null;
19:
20: /**
21: * @param id
22: */
23: public XSSLReference(String id) {
24: super (id);
25: // TODO Auto-generated constructor stub
26: }
27:
28: /**
29: * @param id
30: * @param properties
31: */
32: public XSSLReference(String id, HashMap properties) {
33: super (id, properties);
34: // TODO Auto-generated constructor stub
35: }
36:
37: protected void set() throws Exception {
38: super .set();
39:
40: this .logDebug("Getting a reference and processing it...");
41:
42: Object ref = super .getObjectValue();
43:
44: while (ref instanceof XReference) {
45: ref = ((XReference) ref).getObjectValue();
46:
47: this .logDebug("Found double reference, processing into: "
48: + ref);
49: }
50:
51: this .returnObject = this .processReference(ref);
52: }
53:
54: public Object getObjectValue() {
55: return this .returnObject;
56: }
57:
58: protected abstract Object processReference(Object reference)
59: throws Exception;
60:
61: }
|