package org.concord.otrunk.util;

import org.concord.framework.otrunk.OTObject;

/**
 * An OTReference object can be used to store meta-information about a link
 * between two objects. In our current pattern, an OTReference is contained by a parent 
 * object, the "FROM" object, and so this is not explicitly set. The "TO" object is 
 * explicitly set in the OTReference.
 * 
 * @author sfentress
 *
 */
public interface OTReference
{
	public OTObject getReferencedObject();
	public void setReferencedObject(OTObject referencedObject);
	
	/**
	 * A description of the type of link. Possible annotations include:
	 * 
	 * * CONTEXT				// e.g. the model that a question is asking about
	 * * ACTIVITY-REFERENCE		// the activity an object relates to
	 * * ...
	 * 
	 * @return
	 */
	public String getAnnotation();
	public void setAnnotation(String annotation);
}

@@ -72,16 +72,71 @@
 TObject;
+%0Aimport org.concord.framework.otrunk.OTObjectInterface;
 %0A%0A/**%0A *
@@ -481,16 +481,42 @@
 eference
+ extends OTObjectInterface
 %0A%7B%0A%09publ
@@ -773,17 +773,17 @@
 ACTIVITY
--
+_
 REFERENC
@@ -882,24 +882,24 @@
 notation();%0A
-
 %09public void
@@ -933,10 +933,120 @@
 ation);%0A
+%09%0A%09public static String CONTEXT = %22CONTEXT%22;%0A%09public static String ACTIVITY_REFERENCE = %22ACTIVITY_REFERENCE%22;%0A
 %7D%0A

Add static string annotations