public class ClassItem
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
private java.lang.String[] |
m_argTypes |
Argument types for method.
|
private ClassFile |
m_classFile |
Owning class information.
|
private FieldOrMethod |
m_item |
Wrapped existing item.
|
private java.lang.String |
m_name |
Item name.
|
private java.lang.String[] |
m_parmNames |
Parameter names for method (
null if not yet found). |
private java.lang.String |
m_signature |
Encoded signature.
|
private java.lang.String |
m_typeName |
Fully qualified class name of item type.
|
private static java.util.HashMap |
s_primitiveMap |
Map for primitive type signature variants.
|
private static java.util.HashMap |
s_signatureParamsMap |
Map from method signature to array of argument types.
|
private static java.util.HashMap |
s_signatureTypeMap |
Map from method signature to return type.
|
private static java.util.HashMap |
s_typeMap |
Map from type name to BCEL type.
|
private static byte |
SIGNATURE_ATTRIBUTE_TAG |
Tag value for signature attribute.
|
Constructor | Description |
---|---|
ClassItem(java.lang.String name,
ClassFile cf,
FieldOrMethod item) |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
static ClassItem |
findStaticMethod(java.lang.String name,
java.lang.String[] sigs) |
Get static method by fully qualified name.
|
static ClassItem |
findVirtualMethod(java.lang.String name,
java.lang.String[] sigs) |
Get virtual method by fully qualified name.
|
int |
getAccessFlags() |
Get access flags.
|
int |
getArgumentCount() |
Get number of arguments for method.
|
java.lang.String |
getArgumentType(int index) |
Get argument type as fully qualified class name.
|
java.lang.String[] |
getArgumentTypes() |
Get argument types as array of fully qualified class names.
|
ClassFile |
getClassFile() |
Get owning class information.
|
java.lang.String[] |
getExceptions() |
Get names of exceptions thrown by method.
|
java.lang.String |
getFullName() |
Get fully-qualified class and method name.
|
java.lang.String |
getGenericsSignature() |
Get the generics signature information for item.
|
java.lang.String |
getName() |
Get item name.
|
java.lang.String |
getParameterName(int index) |
Get method parameter name.
|
static java.lang.String[] |
getParametersFromSignature(java.lang.String sig) |
Get parameter type names from method signature.
|
static java.lang.String |
getPrimitiveSignature(java.lang.String type) |
Get the signature for a primitive.
|
java.lang.String |
getSignature() |
Get method signature.
|
static java.lang.String[] |
getSignatureVariants(java.lang.String name) |
Get all variant signatures for a fully qualified class name.
|
static java.lang.String |
getTypeFromSignature(java.lang.String sig) |
Get return type names from method signature.
|
java.lang.String |
getTypeName() |
Get item type as fully qualified class name.
|
static boolean |
isAssignable(java.lang.String from,
java.lang.String to) |
Check if a value of one type can be directly assigned to another type.
|
boolean |
isInitializer() |
Check if item is an initializer.
|
boolean |
isMethod() |
Check if item is a method.
|
static boolean |
isPrimitive(java.lang.String type) |
Check if type is a primitive.
|
boolean |
isStatic() |
Check if item is a static.
|
void |
makeAccessible(ClassFile src) |
Make accessible item.
|
void |
setAccessFlags(int flags) |
Set access flags.
|
static Type |
typeFromName(java.lang.String name) |
Create type from name.
|
private static final byte SIGNATURE_ATTRIBUTE_TAG
private static java.util.HashMap s_primitiveMap
private static java.util.HashMap s_typeMap
private static java.util.HashMap s_signatureParamsMap
private static java.util.HashMap s_signatureTypeMap
private ClassFile m_classFile
private java.lang.String m_name
private java.lang.String m_signature
private java.lang.String m_typeName
private java.lang.String[] m_argTypes
private java.lang.String[] m_parmNames
null
if not yet found).private FieldOrMethod m_item
public ClassItem(java.lang.String name, ClassFile cf, FieldOrMethod item)
name
- field or method namecf
- owning class informationitem
- field or method informationpublic ClassFile getClassFile()
public java.lang.String getName()
public java.lang.String getFullName()
public java.lang.String getTypeName()
public int getArgumentCount()
public java.lang.String getArgumentType(int index)
index
- argument numberpublic java.lang.String getParameterName(int index)
index
- parameter indexpublic java.lang.String[] getArgumentTypes()
public int getAccessFlags()
public void setAccessFlags(int flags)
flags
- access flags for field or methodpublic void makeAccessible(ClassFile src)
src
- class file for required accesspublic boolean isStatic()
true
if a static, false
if memberpublic java.lang.String getSignature()
public boolean isMethod()
true
if a method, false
if a fieldpublic boolean isInitializer()
true
if an initializer, false
if a
field or normal methodpublic java.lang.String[] getExceptions()
null
if
a fieldpublic java.lang.String getGenericsSignature()
null
if none)public static boolean isPrimitive(java.lang.String type)
type
- true
if a primitive, false
if notpublic static java.lang.String getPrimitiveSignature(java.lang.String type)
type
- public static java.lang.String[] getParametersFromSignature(java.lang.String sig)
sig
- method signature to be decodedpublic static java.lang.String getTypeFromSignature(java.lang.String sig)
sig
- method signature to be decodedpublic static Type typeFromName(java.lang.String name)
name
- fully qualified type namepublic static ClassItem findVirtualMethod(java.lang.String name, java.lang.String[] sigs) throws JiBXException
name
- fully qualified class and method namesigs
- possible method signaturesnull
if not foundJiBXException
- if configuration errorpublic static ClassItem findStaticMethod(java.lang.String name, java.lang.String[] sigs) throws JiBXException
name
- fully qualified class and method namesigs
- possible method signaturesnull
if not foundJiBXException
- if configuration errorpublic static java.lang.String[] getSignatureVariants(java.lang.String name) throws JiBXException
name
- fully qualified class nameJiBXException
- if configuration errorpublic static boolean isAssignable(java.lang.String from, java.lang.String to) throws JiBXException
from
- fully qualified class name of initial typeto
- fully qualified class name of assignment typetrue
if assignable, false
if notJiBXException
- if configuration error