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.bytecode.hook;
05:
06: import com.tc.aspectwerkz.reflect.ClassInfo;
07: import com.tc.object.bytecode.Manager;
08:
09: import java.net.URL;
10: import java.util.Collection;
11:
12: /**
13: * The idea behind DSOContext is to encapsulate a DSO "world" in a client VM. But this
14: * idea has not been fully realized.
15: */
16: public interface DSOContext extends ClassProcessor {
17:
18: public static final String CLASS = "com/tc/object/bytecode/hook/DSOContext";
19: public static final String TYPE = "L" + CLASS + ";";
20:
21: /**
22: * @return The Manager instance
23: */
24: public Manager getManager();
25:
26: /**
27: * The DSOSpringConfigHelpers in the DSO
28: * @return Collection of DSOSpringConfigHelper
29: */
30: public Collection getDSOSpringConfigHelpers();
31:
32: /**
33: * Add include and lock
34: * @param expression Class expression
35: * @param callConstructorOnLoad True to call constructor on load
36: * @param lockExpression Lock expression
37: * @param classInfo Class information
38: */
39: public void addInclude(String expression,
40: boolean callConstructorOnLoad, String lockExpression,
41: ClassInfo classInfo);
42:
43: /**
44: * Add transient field
45: * @param beanClassName Bean class name
46: * @param fieldName
47: */
48: public void addTransient(String beanClassName, String fieldName);
49:
50: /**
51: * Get type of locks used by sessions
52: * @param appName Web app anem
53: * @return Lock type
54: */
55: public int getSessionLockType(String appName);
56:
57: /**
58: * Get url to class file
59: * @param className Class name
60: * @return URL to class itself
61: */
62: public URL getClassResource(String className);
63:
64: }
|