1 /***************************************************************************************
2 * Copyright (c) Jonas Bonér, Alexandre Vasseur. All rights reserved. *
3 * http://aspectwerkz.codehaus.org *
4 * ---------------------------------------------------------------------------------- *
5 * The software in this package is published under the terms of the LGPL license *
6 * a copy of which has been included with this distribution in the license.txt file. *
7 **************************************************************************************/
8 package org.codehaus.aspectwerkz.transform;
9
10 import java.util.ArrayList;
11 import java.util.List;
12
13 /***
14 * Interface with common constants used in the transformation process.
15 *
16 * @author <a href="mailto:jboner@codehaus.org">Jonas Bonr </a>
17 */
18 public interface TransformationConstants {
19 public static final List EMTPTY_ARRAY_LIST = new ArrayList();
20
21
22 public static final String ASPECTWERKZ_PREFIX = "___AW_";
23 public static final String WRAPPER_METHOD_PREFIX = ASPECTWERKZ_PREFIX + "access$";
24 public static final String DELIMITER = "$_AW_$";
25 public static final String STATIC_CLASS_FIELD = ASPECTWERKZ_PREFIX + "clazz";
26 public static final String JOIN_POINT_PREFIX = ASPECTWERKZ_PREFIX + "jp";
27 public static final String ORIGINAL_METHOD_PREFIX = WRAPPER_METHOD_PREFIX + "original" + DELIMITER;
28 public static final String INVOKE_WRAPPER_METHOD_PREFIX = "INVOKE" + DELIMITER;
29 public static final String PUTFIELD_WRAPPER_METHOD_PREFIX = "PUTFIELD" + DELIMITER;
30 public static final String GETFIELD_WRAPPER_METHOD_PREFIX = "GETFIELD" + DELIMITER;
31 public static final String JOIN_POINT_BASE_CLASS_SUFFIX = ASPECTWERKZ_PREFIX + "JoinPointBase";
32 public static final String JOIN_POINT_CLASS_SUFFIX = ASPECTWERKZ_PREFIX + "JoinPoint";
33
34
35 public static final String CROSS_CUTTING_INFO_CLASS_FIELD = ASPECTWERKZ_PREFIX + "crossCuttingInfo";
36 public static final String JOIN_POINT_MANAGER_FIELD = ASPECTWERKZ_PREFIX + "joinPointManager";
37 public static final String ASPECT_MANAGER_FIELD = ASPECTWERKZ_PREFIX + "aspectManager";
38 public static final String TARGET_CLASS_FIELD_NAME = "___AW_Clazz";
39 public static final String EMPTY_WRAPPER_ATTRIBUTE = ASPECTWERKZ_PREFIX + "empty";
40
41
42 public static final String JOIN_POINTS_INIT_METHOD = ORIGINAL_METHOD_PREFIX + "initJoinPoints";
43 public static final String LOAD_JOIN_POINT_METHOD_SIGNATURE = "(ILjava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V";
44 public static final String FOR_NAME_METHOD_SIGNATURE = "(Ljava/lang/String;)Ljava/lang/Class;";
45 public static final String INIT_JOIN_POINTS_METHOD_NAME = WRAPPER_METHOD_PREFIX + DELIMITER + "initJoinPoints";
46 public static final String JOIN_POINT_INDEX_ATTRIBUTE = ASPECTWERKZ_PREFIX + "JoinPointIndex";
47 public static final String INLINED_JOIN_POINT_MANAGER_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/management/InlinedJoinPointManager";
48
49
50 public static final String INIT_METHOD_NAME = "<init>";
51 public static final String CLINIT_METHOD_NAME = "<clinit>";
52 public static final String CLASS_LOADER_REFLECT_CLASS_NAME = "java.lang.ClassLoader";
53 public static final String DEFINE_CLASS_METHOD_NAME = "defineClass";
54 public static final String INVOKE_METHOD_NAME = "invoke";
55 public static final String FOR_NAME_METHOD_NAME = "forName";
56 public static final String LOAD_JOIN_POINT_METHOD_NAME = "loadJoinPoint";
57 public static final String GET_JOIN_POINT_MANAGER = "getJoinPointManager";
58 public static final String GET_ASPECT_MANAGER_METHOD = "getAspectManager";
59 public static final String GET_SYSTEM_METHOD = "getSystem";
60 public static final String GET_MIXIN_METHOD = "getMixin";
61 public static final String INVOKE_MIXIN_METHOD = "invokeMixin";
62 public static final String SERIAL_VERSION_UID_FIELD = "serialVersionUID";
63 public static final String PROCEED_WITH_EXECUTION_JOIN_POINT_METHOD = "proceedWithExecutionJoinPoint";
64 public static final String PROCEED_WITH_CALL_JOIN_POINT_METHOD = "proceedWithCallJoinPoint";
65 public static final String PROCEED_WITH_SET_JOIN_POINT_METHOD = "proceedWithSetJoinPoint";
66 public static final String PROCEED_WITH_GET_JOIN_POINT_METHOD = "proceedWithGetJoinPoint";
67 public static final String PROCEED_WITH_HANDLER_JOIN_POINT_METHOD = "proceedWithHandlerJoinPoint";
68 public static final String HANDLER_JOIN_POINT_EXECUTION_METHOD = "proceed";
69 public static final String GET_JOIN_POINTS_EXECUTION_METHOD = "getJoinPoints";
70 public static final String UUID_EXECUTION_METHOD = "generate";
71 public static final String CLASS_LOOKUP_METHOD = "class$";
72 public static final String ASPECT_MANAGER_CLASS = "org.codehaus.aspectwerkz.aspect.management.AspectManager";
73 public static final String JOIN_POINT_MANAGER_CLASS = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager";
74 public static final String JOIN_POINT_TYPE_METHOD_EXECUTION = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.METHOD_EXECUTION";
75 public static final String JOIN_POINT_TYPE_METHOD_CALL = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.METHOD_CALL";
76 public static final String JOIN_POINT_TYPE_CONSTRUCTOR_EXECUTION = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.CONSTRUCTOR_EXECUTION";
77 public static final String JOIN_POINT_TYPE_CONSTRUCTOR_CALL = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.CONSTRUCTOR_CALL";
78 public static final String JOIN_POINT_TYPE_FIELD_SET = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.FIELD_SET";
79 public static final String JOIN_POINT_TYPE_FIELD_GET = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.FIELD_GET";
80 public static final String JOIN_POINT_TYPE_HANDLER = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.HANDLER";
81 public static final String JOIN_POINT_TYPE_STATIC_INITALIZATION = "org.codehaus.aspectwerkz.joinpoint.management.JoinPointType.STATIC_INITIALIZATION";
82 public static final String SYSTEM_CLASS = "org.codehaus.aspectwerkz.RuntimeSystem";
83 public static final String SYSTEM_LOADER_CLASS = "org.codehaus.aspectwerkz.SystemLoader";
84 public static final String MIXIN_CLASS = "org.codehaus.aspectwerkz.Mixin";
85 public static final String THREAD_LOCAL_CLASS = "org.codehaus.aspectwerkz.util.SerializableThreadLocal";
86 public static final String WEAK_REFERENCE_CLASS = "java.lang.ref.WeakReference";
87 public static final String CROSS_CUTTING_INFO_CLASS = "org.codehaus.aspectwerkz.CrossCuttingInfo";
88
89
90 public static final String SHORT_CLASS_NAME = "java/lang/Short";
91 public static final String INTEGER_CLASS_NAME = "java/lang/Integer";
92 public static final String LONG_CLASS_NAME = "java/lang/Long";
93 public static final String FLOAT_CLASS_NAME = "java/lang/Float";
94 public static final String DOUBLE_CLASS_NAME = "java/lang/Double";
95 public static final String BYTE_CLASS_NAME = "java/lang/Byte";
96 public static final String BOOLEAN_CLASS_NAME = "java/lang/Boolean";
97 public static final String CHARACTER_CLASS_NAME = "java/lang/Character";
98 public static final String OBJECT_CLASS_SIGNATURE = "Ljava/lang/Object;";
99 public static final String OBJECT_CLASS_NAME = "java/lang/Object";
100 public static final String CLASS_CLASS_SIGNATURE = "Ljava/lang/Class;";
101 public static final String CLASS_CLASS = "java/lang/Class";
102 public static final String THROWABLE_CLASS_NAME = "java/lang/Throwable";
103 public static final String SHORT_VALUE_METHOD_NAME = "shortValue";
104 public static final String INT_VALUE_METHOD_NAME = "intValue";
105 public static final String LONG_VALUE_METHOD_NAME = "longValue";
106 public static final String FLOAT_VALUE_METHOD_NAME = "floatValue";
107 public static final String DOUBLE_VALUE_METHOD_NAME = "doubleValue";
108 public static final String BYTE_VALUE_METHOD_NAME = "byteValue";
109 public static final String BOOLEAN_VALUE_METHOD_NAME = "booleanValue";
110 public static final String CHAR_VALUE_METHOD_NAME = "charValue";
111 public static final String CHAR_VALUE_METHOD_SIGNATURE = "()C";
112 public static final String BOOLEAN_VALUE_METHOD_SIGNATURE = "()Z";
113 public static final String BYTE_VALUE_METHOD_SIGNATURE = "()B";
114 public static final String DOUBLE_VALUE_METHOD_SIGNATURE = "()D";
115 public static final String FLOAT_VALUE_METHOD_SIGNATURE = "()F";
116 public static final String LONG_VALUE_METHOD_SIGNATURE = "()J";
117 public static final String INT_VALUE_METHOD_SIGNATURE = "()I";
118 public static final String SHORT_VALUE_METHOD_SIGNATURE = "()S";
119 public static final String SHORT_CLASS_INIT_METHOD_SIGNATURE = "(S)V";
120 public static final String INTEGER_CLASS_INIT_METHOD_SIGNATURE = "(I)V";
121 public static final String LONG_CLASS_INIT_METHOD_SIGNATURE = "(J)V";
122 public static final String FLOAT_CLASS_INIT_METHOD_SIGNATURE = "(F)V";
123 public static final String DOUBLE_CLASS_INIT_METHOD_SIGNATURE = "(D)V";
124 public static final String BYTE_CLASS_INIT_METHOD_SIGNATURE = "(B)V";
125 public static final String BOOLEAN_CLASS_INIT_METHOD_SIGNATURE = "(Z)V";
126 public static final String CHARACTER_CLASS_INIT_METHOD_SIGNATURE = "(C)V";
127 public static final String NO_PARAMS_RETURN_VOID_METHOD_SIGNATURE = "()V";
128 public static final String L = "L";
129 public static final String I = "I";
130 public static final String SEMICOLON = ";";
131
132 public static final byte EMPTY_WRAPPER_ATTRIBUTE_VALUE_EMPTY = Byte.MIN_VALUE;
133 public static final byte EMPTY_WRAPPER_ATTRIBUTE_VALUE_NOTEMPTY = Byte.MAX_VALUE;
134 }