org.jboss.byteman.rule.type
Class TypeHelper

java.lang.Object
  extended by org.jboss.byteman.rule.type.TypeHelper

public class TypeHelper
extends java.lang.Object

Helpoer class providing static methods for manipulating type and class names, field and method descriptor names etc


Field Summary
private static java.lang.String[] externalNames
          list of typenames in external form corresponding to entries ni previous list
private static java.lang.String[] internalNames
          list of well known typenames as written in Java code
 
Constructor Summary
TypeHelper()
           
 
Method Summary
static boolean equalDescriptors(java.lang.String desc1, java.lang.String desc2)
           
static java.lang.String externalizeClass(java.lang.String className)
          convert a classname from canonical form to the form used to represent it externally i.e.
static java.lang.String externalizeDescriptor(java.lang.String desc)
          convert a method descriptor from canonical form to the form used to represent it externally
static java.lang.String externalizeType(java.lang.String typeName)
          convert a type name from canonical form to the form used to represent it externally i.e.
static java.lang.String internalizeClass(java.lang.String className)
          convert a classname from external form to canonical form i.e.
static java.lang.String internalizeDescriptor(java.lang.String desc)
          convert a method descriptor from the form used to represent it externally to canonical form
static java.lang.String parseMethodDescriptor(java.lang.String targetMethod)
          split off the signature following the method name and return it
static java.lang.String parseMethodName(java.lang.String targetMethod)
          split off the method name preceding the signature and return it
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

internalNames

private static final java.lang.String[] internalNames
list of well known typenames as written in Java code


externalNames

private static final java.lang.String[] externalNames
list of typenames in external form corresponding to entries ni previous list

Constructor Detail

TypeHelper

public TypeHelper()
Method Detail

equalDescriptors

public static boolean equalDescriptors(java.lang.String desc1,
                                       java.lang.String desc2)

externalizeClass

public static java.lang.String externalizeClass(java.lang.String className)
convert a classname from canonical form to the form used to represent it externally i.e. replace all dots with slashes

Parameters:
className -
Returns:

internalizeClass

public static java.lang.String internalizeClass(java.lang.String className)
convert a classname from external form to canonical form i.e. replace all slashes with dots

Parameters:
className -
Returns:

externalizeType

public static java.lang.String externalizeType(java.lang.String typeName)
convert a type name from canonical form to the form used to represent it externally i.e. replace primitive type names by the appropriate single letter types, class names by the externalized class name bracketed by 'L' and ';' and array names by the base type name preceded by '['.

Parameters:
typeName -
Returns:

externalizeDescriptor

public static java.lang.String externalizeDescriptor(java.lang.String desc)
convert a method descriptor from canonical form to the form used to represent it externally

Parameters:
desc - the method descriptor which must be trimmed of any surrounding white space
Returns:
an externalised form for the descriptor

internalizeDescriptor

public static java.lang.String internalizeDescriptor(java.lang.String desc)
convert a method descriptor from the form used to represent it externally to canonical form

Parameters:
desc - the method descriptor which must be trimmed of any surrounding white space and start with "(". it must end either with ")" or with ") " followed by an exernalized return type
Returns:
an internalised form for the descriptor, possibly followed by a space and externalized return type

parseMethodName

public static java.lang.String parseMethodName(java.lang.String targetMethod)
split off the method name preceding the signature and return it

Parameters:
targetMethod - - the unqualified method name, possibly including signature
Returns:

parseMethodDescriptor

public static java.lang.String parseMethodDescriptor(java.lang.String targetMethod)
split off the signature following the method name and return it

Parameters:
targetMethod - - the unqualified method name, possibly including signature
Returns: