org.codehaus.aspectwerkz.transform
Class TransformationUtil

java.lang.Object
  extended byorg.codehaus.aspectwerkz.transform.TransformationUtil

public final class TransformationUtil
extends java.lang.Object

Contains constants and utility method used by the transformers.

Author:
Jonas Bonér

Field Summary
static java.lang.String ASPECT_WERKZ_CLASS
           
static java.lang.String ASPECTWERKZ_PREFIX
           
static java.lang.String CALL_SIDE_DELIMITER
           
static java.lang.String CALLER_SIDE_JOIN_POINT_CLASS
           
static java.lang.String CALLER_SIDE_JOIN_POINT_POST_EXECUTION_METHOD
           
static java.lang.String CALLER_SIDE_JOIN_POINT_PRE_EXECUTION_METHOD
           
static java.lang.String CALLER_SIDE_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType CALLER_SIDE_JOIN_POINT_TYPE
           
static java.lang.String CLASS_LOOKUP_METHOD
           
static java.lang.String CONSTRUCTOR_JOIN_POINT_CLASS
           
static java.lang.String CONSTRUCTOR_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType CONSTRUCTOR_JOIN_POINT_TYPE
           
static java.lang.String DELIMITER
           
static java.lang.String FIELD_JOIN_POINT_POST_EXECUTION_METHOD
           
static java.lang.String FIELD_JOIN_POINT_PRE_EXECUTION_METHOD
           
static java.lang.String GET_JOIN_POINTS_EXECUTION_METHOD
           
static java.lang.String GET_META_DATA_METHOD
           
static java.lang.String GET_UUID_METHOD
           
static java.lang.String HANDLER_JOIN_POINT_EXECUTION_METHOD
           
static java.lang.String IDENTIFIABLE_INTERFACE
           
static java.lang.String INTRODUCTION_CLASS
           
static java.lang.String JOIN_POINT_PREFIX
           
static java.lang.String MEMBER_FIELD_GET_JOIN_POINT_CLASS
           
static java.lang.String MEMBER_FIELD_GET_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType MEMBER_FIELD_GET_JOIN_POINT_TYPE
           
static java.lang.String MEMBER_FIELD_SET_JOIN_POINT_CLASS
           
static java.lang.String MEMBER_FIELD_SET_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType MEMBER_FIELD_SET_JOIN_POINT_TYPE
           
static java.lang.String MEMBER_METHOD_JOIN_POINT_CLASS
           
static java.lang.String MEMBER_METHOD_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType MEMBER_METHOD_JOIN_POINT_TYPE
           
static java.lang.String META_DATA_FIELD
           
static java.lang.String META_DATA_INTERFACE
           
static java.lang.String ORIGINAL_METHOD_PREFIX
           
static java.lang.String SERIAL_VERSION_UID_FIELD
           
static java.lang.String SET_META_DATA_METHOD
           
static java.lang.String STATIC_CLASS_FIELD
           
static java.lang.String STATIC_FIELD_GET_JOIN_POINT_CLASS
           
static java.lang.String STATIC_FIELD_GET_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType STATIC_FIELD_GET_JOIN_POINT_TYPE
           
static java.lang.String STATIC_FIELD_SET_JOIN_POINT_CLASS
           
static java.lang.String STATIC_FIELD_SET_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType STATIC_FIELD_SET_JOIN_POINT_TYPE
           
static java.lang.String STATIC_METHOD_JOIN_POINT_CLASS
           
static java.lang.String STATIC_METHOD_JOIN_POINT_PREFIX
           
static org.apache.bcel.generic.ObjectType STATIC_METHOD_JOIN_POINT_TYPE
           
static java.lang.String SUPER_CALL_WRAPPER_PREFIX
           
static java.lang.String THREAD_LOCAL_CLASS
           
static java.lang.String UUID_CLASS
           
static java.lang.String UUID_EXECUTION_METHOD
           
static java.lang.String UUID_FIELD
           
 
Constructor Summary
TransformationUtil()
           
 
Method Summary
static void addField(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.classfile.Field field)
          Add the given field implementation to the given class representation.
static void addInterfaceToClass(org.apache.bcel.generic.ClassGen cg, java.lang.String interf)
          Add the given interface to the given class representation.
static void addMethod(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.classfile.Method method)
          Add the given method implementation to the given class representation.
static long calculateSerialVersionUid(Context context, org.apache.bcel.generic.ClassGen cg)
          Calculates the serialVerUid for a class.
static java.lang.Class convertBcelTypeToClass(org.apache.bcel.generic.Type bcelType)
          Converts a BCEL type to a class.
static org.apache.bcel.generic.Type getBcelType(java.lang.String type)
          Converts a type represented as a string to a BCEL type.
static int getModifiersAsInt(java.lang.String[] modifiers)
          Converts String access types to BCEL access types.
static boolean hasSerialVersionUid(org.apache.bcel.generic.ClassGen cg)
          Checks if the class has a serialVersionUID field.
static boolean isSerializable(Context context, org.apache.bcel.generic.ClassGen cg)
          Checks if a class is serialiable.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ASPECTWERKZ_PREFIX

public static final java.lang.String ASPECTWERKZ_PREFIX
See Also:
Constant Field Values

DELIMITER

public static final java.lang.String DELIMITER
See Also:
Constant Field Values

CALL_SIDE_DELIMITER

public static final java.lang.String CALL_SIDE_DELIMITER
See Also:
Constant Field Values

UUID_FIELD

public static final java.lang.String UUID_FIELD
See Also:
Constant Field Values

META_DATA_FIELD

public static final java.lang.String META_DATA_FIELD
See Also:
Constant Field Values

STATIC_CLASS_FIELD

public static final java.lang.String STATIC_CLASS_FIELD
See Also:
Constant Field Values

JOIN_POINT_PREFIX

public static final java.lang.String JOIN_POINT_PREFIX
See Also:
Constant Field Values

ORIGINAL_METHOD_PREFIX

public static final java.lang.String ORIGINAL_METHOD_PREFIX
See Also:
Constant Field Values

SUPER_CALL_WRAPPER_PREFIX

public static final java.lang.String SUPER_CALL_WRAPPER_PREFIX
See Also:
Constant Field Values

MEMBER_METHOD_JOIN_POINT_PREFIX

public static final java.lang.String MEMBER_METHOD_JOIN_POINT_PREFIX
See Also:
Constant Field Values

STATIC_METHOD_JOIN_POINT_PREFIX

public static final java.lang.String STATIC_METHOD_JOIN_POINT_PREFIX
See Also:
Constant Field Values

MEMBER_FIELD_GET_JOIN_POINT_PREFIX

public static final java.lang.String MEMBER_FIELD_GET_JOIN_POINT_PREFIX
See Also:
Constant Field Values

MEMBER_FIELD_SET_JOIN_POINT_PREFIX

public static final java.lang.String MEMBER_FIELD_SET_JOIN_POINT_PREFIX
See Also:
Constant Field Values

STATIC_FIELD_GET_JOIN_POINT_PREFIX

public static final java.lang.String STATIC_FIELD_GET_JOIN_POINT_PREFIX
See Also:
Constant Field Values

STATIC_FIELD_SET_JOIN_POINT_PREFIX

public static final java.lang.String STATIC_FIELD_SET_JOIN_POINT_PREFIX
See Also:
Constant Field Values

CALLER_SIDE_JOIN_POINT_PREFIX

public static final java.lang.String CALLER_SIDE_JOIN_POINT_PREFIX
See Also:
Constant Field Values

CONSTRUCTOR_JOIN_POINT_PREFIX

public static final java.lang.String CONSTRUCTOR_JOIN_POINT_PREFIX
See Also:
Constant Field Values

FIELD_JOIN_POINT_PRE_EXECUTION_METHOD

public static final java.lang.String FIELD_JOIN_POINT_PRE_EXECUTION_METHOD
See Also:
Constant Field Values

FIELD_JOIN_POINT_POST_EXECUTION_METHOD

public static final java.lang.String FIELD_JOIN_POINT_POST_EXECUTION_METHOD
See Also:
Constant Field Values

CALLER_SIDE_JOIN_POINT_PRE_EXECUTION_METHOD

public static final java.lang.String CALLER_SIDE_JOIN_POINT_PRE_EXECUTION_METHOD
See Also:
Constant Field Values

CALLER_SIDE_JOIN_POINT_POST_EXECUTION_METHOD

public static final java.lang.String CALLER_SIDE_JOIN_POINT_POST_EXECUTION_METHOD
See Also:
Constant Field Values

HANDLER_JOIN_POINT_EXECUTION_METHOD

public static final java.lang.String HANDLER_JOIN_POINT_EXECUTION_METHOD
See Also:
Constant Field Values

GET_JOIN_POINTS_EXECUTION_METHOD

public static final java.lang.String GET_JOIN_POINTS_EXECUTION_METHOD
See Also:
Constant Field Values

UUID_EXECUTION_METHOD

public static final java.lang.String UUID_EXECUTION_METHOD
See Also:
Constant Field Values

GET_UUID_METHOD

public static final java.lang.String GET_UUID_METHOD
See Also:
Constant Field Values

GET_META_DATA_METHOD

public static final java.lang.String GET_META_DATA_METHOD
See Also:
Constant Field Values

SET_META_DATA_METHOD

public static final java.lang.String SET_META_DATA_METHOD
See Also:
Constant Field Values

CLASS_LOOKUP_METHOD

public static final java.lang.String CLASS_LOOKUP_METHOD
See Also:
Constant Field Values

ASPECT_WERKZ_CLASS

public static final java.lang.String ASPECT_WERKZ_CLASS
See Also:
Constant Field Values

INTRODUCTION_CLASS

public static final java.lang.String INTRODUCTION_CLASS
See Also:
Constant Field Values

THREAD_LOCAL_CLASS

public static final java.lang.String THREAD_LOCAL_CLASS
See Also:
Constant Field Values

MEMBER_METHOD_JOIN_POINT_CLASS

public static final java.lang.String MEMBER_METHOD_JOIN_POINT_CLASS
See Also:
Constant Field Values

STATIC_METHOD_JOIN_POINT_CLASS

public static final java.lang.String STATIC_METHOD_JOIN_POINT_CLASS
See Also:
Constant Field Values

MEMBER_FIELD_GET_JOIN_POINT_CLASS

public static final java.lang.String MEMBER_FIELD_GET_JOIN_POINT_CLASS
See Also:
Constant Field Values

MEMBER_FIELD_SET_JOIN_POINT_CLASS

public static final java.lang.String MEMBER_FIELD_SET_JOIN_POINT_CLASS
See Also:
Constant Field Values

STATIC_FIELD_GET_JOIN_POINT_CLASS

public static final java.lang.String STATIC_FIELD_GET_JOIN_POINT_CLASS
See Also:
Constant Field Values

STATIC_FIELD_SET_JOIN_POINT_CLASS

public static final java.lang.String STATIC_FIELD_SET_JOIN_POINT_CLASS
See Also:
Constant Field Values

CALLER_SIDE_JOIN_POINT_CLASS

public static final java.lang.String CALLER_SIDE_JOIN_POINT_CLASS
See Also:
Constant Field Values

CONSTRUCTOR_JOIN_POINT_CLASS

public static final java.lang.String CONSTRUCTOR_JOIN_POINT_CLASS
See Also:
Constant Field Values

IDENTIFIABLE_INTERFACE

public static final java.lang.String IDENTIFIABLE_INTERFACE
See Also:
Constant Field Values

META_DATA_INTERFACE

public static final java.lang.String META_DATA_INTERFACE
See Also:
Constant Field Values

UUID_CLASS

public static final java.lang.String UUID_CLASS
See Also:
Constant Field Values

SERIAL_VERSION_UID_FIELD

public static final java.lang.String SERIAL_VERSION_UID_FIELD
See Also:
Constant Field Values

MEMBER_METHOD_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType MEMBER_METHOD_JOIN_POINT_TYPE

STATIC_METHOD_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType STATIC_METHOD_JOIN_POINT_TYPE

MEMBER_FIELD_GET_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType MEMBER_FIELD_GET_JOIN_POINT_TYPE

MEMBER_FIELD_SET_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType MEMBER_FIELD_SET_JOIN_POINT_TYPE

STATIC_FIELD_GET_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType STATIC_FIELD_GET_JOIN_POINT_TYPE

STATIC_FIELD_SET_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType STATIC_FIELD_SET_JOIN_POINT_TYPE

CALLER_SIDE_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType CALLER_SIDE_JOIN_POINT_TYPE

CONSTRUCTOR_JOIN_POINT_TYPE

public static final org.apache.bcel.generic.ObjectType CONSTRUCTOR_JOIN_POINT_TYPE
Constructor Detail

TransformationUtil

public TransformationUtil()
Method Detail

getModifiersAsInt

public static int getModifiersAsInt(java.lang.String[] modifiers)
Converts String access types to BCEL access types.

Parameters:
modifiers - the modifiers as strings
Returns:
the BCEL modifiers (int)

getBcelType

public static org.apache.bcel.generic.Type getBcelType(java.lang.String type)
Converts a type represented as a string to a BCEL type.

Parameters:
type - the type as a string
Returns:
the BCEL type

convertBcelTypeToClass

public static java.lang.Class convertBcelTypeToClass(org.apache.bcel.generic.Type bcelType)
Converts a BCEL type to a class.

Parameters:
bcelType - the BCEL type
Returns:
the class

calculateSerialVersionUid

public static long calculateSerialVersionUid(Context context,
                                             org.apache.bcel.generic.ClassGen cg)
Calculates the serialVerUid for a class.

Parameters:
cg - the class gen
Returns:
the uid

isSerializable

public static boolean isSerializable(Context context,
                                     org.apache.bcel.generic.ClassGen cg)
Checks if a class is serialiable. The method needs to be context aware since the BCEL call getAllInterfaces() will load all transitively implemented interfaces.

Parameters:
context - the transformation context
cg - the class gen
Returns:
boolean

hasSerialVersionUid

public static boolean hasSerialVersionUid(org.apache.bcel.generic.ClassGen cg)
Checks if the class has a serialVersionUID field.

Parameters:
cg - the class gen
Returns:
boolean

addInterfaceToClass

public static void addInterfaceToClass(org.apache.bcel.generic.ClassGen cg,
                                       java.lang.String interf)
Add the given interface to the given class representation.

Parameters:
cg - ClassGen representation
interf - FQN of the interface

addMethod

public static void addMethod(org.apache.bcel.generic.ClassGen cg,
                             org.apache.bcel.classfile.Method method)
Add the given method implementation to the given class representation.

Parameters:
cg - ClassGen representation
method - method implementation

addField

public static void addField(org.apache.bcel.generic.ClassGen cg,
                            org.apache.bcel.classfile.Field field)
Add the given field implementation to the given class representation.

Parameters:
cg - ClassGen representation
field - field implementation


Copyright (c) 2002-2004 The AspectWerkz Team. All Rights Reserved.