01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.object;
05:
06: import java.util.Iterator;
07:
08: /**
09: * Track references that were traversed
10: */
11: public interface TraversedReferences {
12: /**
13: * Add an anonymous reference traversal, usually in a logical applicator
14: * @param o The object traversed
15: */
16: public void addAnonymousReference(Object o);
17:
18: /**
19: * Add a named reference traversal, usually in a physical applicator
20: * @param className Class name
21: * @param fieldName Field name
22: * @param value Object value in field
23: */
24: public void addNamedReference(String className, String fieldName,
25: Object value);
26:
27: /**
28: * Add a named reference traversal, usually in a physical applicator
29: * @param fullyQualifiedFieldName Full field name, which can be split into class and field
30: * @param value Object value in field
31: */
32: public void addNamedReference(String fullyQualifiedFieldname,
33: Object value);
34:
35: /**
36: * Walk through the references traversed
37: * @return Iterator<TraversedReference>
38: */
39: public Iterator iterator();
40: }
|