public class ClassGen extends AccessFlags implements Cloneable
JavaClass
access_flags
Constructor and Description |
---|
ClassGen(JavaClass clazz)
Initialize with existing class.
|
ClassGen(String className,
String superClassName,
String fileName,
int accessFlags,
String[] interfaces)
Convenience constructor to set up some important values initially.
|
ClassGen(String className,
String superClassName,
String fileName,
int accessFlags,
String[] interfaces,
ConstantPoolGen cp)
Convenience constructor to set up some important values initially.
|
Modifier and Type | Method and Description |
---|---|
void |
addAnnotationEntry(AnnotationEntryGen a) |
void |
addAttribute(Attribute a)
Add an attribute to this class.
|
void |
addEmptyConstructor(int accessFlags)
Convenience method.
|
void |
addField(Field f)
Add a field to this class.
|
void |
addInterface(String name)
Add an interface to this class, i.e., this class has to implement it.
|
void |
addMethod(Method m)
Add a method to this class.
|
void |
addObserver(ClassObserver o)
Add observer for this object.
|
Object |
clone() |
boolean |
containsField(Field f) |
Field |
containsField(String name) |
Method |
containsMethod(String name,
String signature) |
boolean |
equals(Object obj)
Return value as defined by given BCELComparator strategy.
|
AnnotationEntryGen[] |
getAnnotationEntries() |
Attribute[] |
getAttributes() |
String |
getClassName() |
int |
getClassNameIndex() |
static BCELComparator |
getComparator() |
ConstantPoolGen |
getConstantPool() |
Field[] |
getFields() |
String |
getFileName() |
String[] |
getInterfaceNames() |
int[] |
getInterfaces() |
JavaClass |
getJavaClass() |
int |
getMajor() |
Method |
getMethodAt(int pos) |
Method[] |
getMethods() |
int |
getMinor() |
String |
getSuperclassName() |
int |
getSuperclassNameIndex() |
int |
hashCode()
Return value as defined by given BCELComparator strategy.
|
void |
removeAttribute(Attribute a)
Remove an attribute from this class.
|
void |
removeField(Field f)
Remove a field to this class.
|
void |
removeInterface(String name)
Remove an interface from this class.
|
void |
removeMethod(Method m)
Remove a method from this class.
|
void |
removeObserver(ClassObserver o)
Remove observer for this object.
|
void |
replaceField(Field old,
Field newField)
Replace given field with new one.
|
void |
replaceMethod(Method old,
Method newMethod)
Replace given method with new one.
|
void |
setClassName(String name) |
void |
setClassNameIndex(int classNameIndex) |
static void |
setComparator(BCELComparator comparator) |
void |
setConstantPool(ConstantPoolGen constantPool) |
void |
setMajor(int major)
Set major version number of class file, default value is 45 (JDK 1.1)
|
void |
setMethodAt(Method method,
int pos) |
void |
setMethods(Method[] methods) |
void |
setMinor(int minor)
Set minor version number of class file, default value is 3 (JDK 1.1)
|
void |
setSuperclassName(String name) |
void |
setSuperclassNameIndex(int superclassNameIndex) |
void |
update()
Call notify() method on all observers.
|
getAccessFlags, getModifiers, isAbstract, isAbstract, isAnnotation, isAnnotation, isEnum, isEnum, isFinal, isFinal, isInterface, isInterface, isNative, isNative, isPrivate, isPrivate, isProtected, isProtected, isPublic, isPublic, isStatic, isStatic, isStrictfp, isStrictfp, isSynchronized, isSynchronized, isSynthetic, isSynthetic, isTransient, isTransient, isVarArgs, isVarArgs, isVolatile, isVolatile, setAccessFlags, setModifiers
public ClassGen(JavaClass clazz)
clazz
- JavaClass object (e.g. read from file)public ClassGen(String className, String superClassName, String fileName, int accessFlags, String[] interfaces)
className
- fully qualified class namesuperClassName
- fully qualified superclass namefileName
- source file nameaccessFlags
- access qualifiersinterfaces
- implemented interfacespublic ClassGen(String className, String superClassName, String fileName, int accessFlags, String[] interfaces, ConstantPoolGen cp)
className
- fully qualified class namesuperClassName
- fully qualified superclass namefileName
- source file nameaccessFlags
- access qualifiersinterfaces
- implemented interfacescp
- constant pool to usepublic static BCELComparator getComparator()
public static void setComparator(BCELComparator comparator)
comparator
- Comparison strategy objectpublic void addAnnotationEntry(AnnotationEntryGen a)
public void addAttribute(Attribute a)
a
- attribute to addpublic void addEmptyConstructor(int accessFlags)
accessFlags
- rights for constructorpublic void addInterface(String name)
name
- interface to implement (fully qualified class name)public void addObserver(ClassObserver o)
public boolean containsField(Field f)
public Field containsField(String name)
public Method containsMethod(String name, String signature)
public boolean equals(Object obj)
equals
in class Object
Object.equals(Object)
public AnnotationEntryGen[] getAnnotationEntries()
public Attribute[] getAttributes()
public String getClassName()
public int getClassNameIndex()
public ConstantPoolGen getConstantPool()
public String getFileName()
public String[] getInterfaceNames()
public int[] getInterfaces()
public JavaClass getJavaClass()
public int getMajor()
public Method getMethodAt(int pos)
public Method[] getMethods()
public int getMinor()
public String getSuperclassName()
public int getSuperclassNameIndex()
public int hashCode()
hashCode
in class Object
Object.hashCode()
public void removeAttribute(Attribute a)
a
- attribute to removepublic void removeField(Field f)
f
- field to removepublic void removeInterface(String name)
name
- interface to remove (fully qualified name)public void removeMethod(Method m)
m
- method to removepublic void removeObserver(ClassObserver o)
public void replaceField(Field old, Field newField)
public void replaceMethod(Method old, Method newMethod)
public void setClassName(String name)
public void setClassNameIndex(int classNameIndex)
public void setConstantPool(ConstantPoolGen constantPool)
public void setMajor(int major)
major
- major version numberpublic void setMethodAt(Method method, int pos)
public void setMethods(Method[] methods)
public void setMinor(int minor)
minor
- minor version numberpublic void setSuperclassName(String name)
public void setSuperclassNameIndex(int superclassNameIndex)
public void update()
Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.