Top Fields Constructors Methods
org.jboss.classfilewriter

public Class ClassFile

extends Object
implements WritableEntry
Class Inheritance
All Implemented Interfaces
org.jboss.classfilewriter.WritableEntry
Imports
java.io.IOException, java.lang.annotation.Annotation, java.lang.reflect.Constructor, .Field, .Method, java.security.ProtectionDomain, java.util.ArrayList, .Arrays, .Collections, .HashSet, .List, .Set, org.jboss.classfilewriter.annotations.AnnotationBuilder, .AnnotationsAttribute, org.jboss.classfilewriter.attributes.Attribute, org.jboss.classfilewriter.constpool.ConstPool, org.jboss.classfilewriter.util.ByteArrayDataOutputStream, .DescriptorUtils

Authors
Stuart Douglas, Richard Opalka

Field Summary

Modifier and TypeField and Description
private final int
private final List<Attribute>
private byte[]
private final ClassFactory
private final ClassLoader
private final ConstPool
private final Set<ClassField>
private final List<String>
private final Set<ClassMethod>
private final String
private final AnnotationsAttribute
private final String
private final int

Constructor Summary

AccessConstructor and Description
public
ClassFile(String name, String superclass, String... interfaces)

Deprecated
public
ClassFile(String name, int accessFlags, String superclass, String... interfaces)

Deprecated
public
ClassFile(String name, String superclass, ClassLoader classLoader, String... interfaces)

Deprecated
public
ClassFile(String name, int accessFlags, String superclass, ClassLoader classLoader, String... interfaces)

Deprecated
public
ClassFile(String name, int accessFlags, String superclass, int version, ClassLoader classLoader, String... interfaces)

Deprecated
public
ClassFile(String name, String superclass, ClassLoader classLoader, ClassFactory classFactory, String... interfaces)

public
ClassFile(String name, int accessFlags, String superclass, ClassLoader classLoader, ClassFactory classFactory, String... interfaces)

public
ClassFile(String name, int accessFlags, String superclass, int version, ClassLoader classLoader, ClassFactory classFactory, String... interfaces)

Method Summary

Modifier and TypeMethod and Description
public ClassMethod
addConstructor(Constructor<?> method)

Adds a constructor with the same signiture as the given constrcutor, including exception types

Todo

annotations and signiture attribute

public ClassField
addField(int accessFlags, String name, String descriptor)

Adds a field with the given name and descriptor.

public ClassField
addField(int accessFlags, String name, String descriptor, String signature)

public ClassField
addField(int accessFlags, String name, Class<?> type)

public ClassField
addField(int accessFlags, String name, Class<?> type, String genericSignature)

public ClassField
addField(Field field)

public void
public ClassMethod
addMethod(int accessFlags, String name, String returnType, String... parameters)

public ClassMethod
addMethod(Method method)

Adds a method with the same signiture as the given method, including exception types

The new method will have the same modifier as the original method, except that the abstract and native flags will be stripped.

public Class<?>
public Class<?>
define(ClassLoader loader)

Deprecated
public Class<?>
public Class<?>
define(ClassLoader loader, ProtectionDomain domain)

Deprecated
Definines the class using the given ClassLoader and ProtectionDomain
private Class<?>
public ClassLoader
public ConstPool
public String
getDescriptor()

returns the type descriptor for the class

public Set<ClassField>

Returns:

This class's fields
getFields
()

public List<String>

Returns:

The interfaces implemented by this class
getInterfaces
()

public Set<ClassMethod>

Returns:

This classes methods
getMethods
()

public String

Returns:

The generated class name
getName
()

Returns the generated class name

public AnnotationsAttribute
public String

Returns:

The generated superclass name
getSuperclass
()

public byte[]
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

accessFlagsback to summary
private final int accessFlags
attributesback to summary
private final List<Attribute> attributes
bytecodeback to summary
private byte[] bytecode
classFactoryback to summary
private final ClassFactory classFactory
classLoaderback to summary
private final ClassLoader classLoader
constPoolback to summary
private final ConstPool constPool
fieldsback to summary
private final Set<ClassField> fields
interfacesback to summary
private final List<String> interfaces
methodsback to summary
private final Set<ClassMethod> methods
nameback to summary
private final String name
runtimeVisibleAnnotationsAttributeback to summary
private final AnnotationsAttribute runtimeVisibleAnnotationsAttribute
superclassback to summary
private final String superclass
versionback to summary
private final int version

Constructor Detail

ClassFileback to summary
public ClassFile(String name, String superclass, String... interfaces)

Deprecated

Annotations
@Deprecated
ClassFileback to summary
public ClassFile(String name, int accessFlags, String superclass, String... interfaces)

Deprecated

Annotations
@Deprecated
ClassFileback to summary
public ClassFile(String name, String superclass, ClassLoader classLoader, String... interfaces)

Deprecated

Annotations
@Deprecated
ClassFileback to summary
public ClassFile(String name, int accessFlags, String superclass, ClassLoader classLoader, String... interfaces)

Deprecated

Annotations
@Deprecated
ClassFileback to summary
public ClassFile(String name, int accessFlags, String superclass, int version, ClassLoader classLoader, String... interfaces)

Deprecated

Annotations
@Deprecated
ClassFileback to summary
public ClassFile(String name, String superclass, ClassLoader classLoader, ClassFactory classFactory, String... interfaces)
ClassFileback to summary
public ClassFile(String name, int accessFlags, String superclass, ClassLoader classLoader, ClassFactory classFactory, String... interfaces)
ClassFileback to summary
public ClassFile(String name, int accessFlags, String superclass, int version, ClassLoader classLoader, ClassFactory classFactory, String... interfaces)

Method Detail

addConstructorback to summary
public ClassMethod addConstructor(Constructor<?> method)

Adds a constructor with the same signiture as the given constrcutor, including exception types

Todo

annotations and signiture attribute

addFieldback to summary
public ClassField addField(int accessFlags, String name, String descriptor)

Adds a field with the given name and descriptor.

addFieldback to summary
public ClassField addField(int accessFlags, String name, String descriptor, String signature)
addFieldback to summary
public ClassField addField(int accessFlags, String name, Class<?> type)
addFieldback to summary
public ClassField addField(int accessFlags, String name, Class<?> type, String genericSignature)
addFieldback to summary
public ClassField addField(Field field)
addInterfaceback to summary
public void addInterface(String iface)
addMethodback to summary
public ClassMethod addMethod(int accessFlags, String name, String returnType, String... parameters)
addMethodback to summary
public ClassMethod addMethod(Method method)

Adds a method with the same signiture as the given method, including exception types

The new method will have the same modifier as the original method, except that the abstract and native flags will be stripped.

Todo

annotations and signiture attribute

defineback to summary
public Class<?> define()
defineback to summary
public Class<?> define(ClassLoader loader)

Deprecated

Annotations
@Deprecated
defineback to summary
public Class<?> define(ProtectionDomain domain)
defineback to summary
public Class<?> define(ClassLoader loader, ProtectionDomain domain)

Deprecated

Definines the class using the given ClassLoader and ProtectionDomain

Annotations
@Deprecated
defineInternalback to summary
private Class<?> defineInternal(ClassLoader loader, ProtectionDomain domain)
getClassLoaderback to summary
public ClassLoader getClassLoader()
getConstPoolback to summary
public ConstPool getConstPool()
getDescriptorback to summary
public String getDescriptor()

returns the type descriptor for the class

getFieldsback to summary
public Set<ClassField> getFields()
Returns:Set<ClassField>

This class's fields

getInterfacesback to summary
public List<String> getInterfaces()
Returns:List<String>

The interfaces implemented by this class

getMethodsback to summary
public Set<ClassMethod> getMethods()
Returns:Set<ClassMethod>

This classes methods

getNameback to summary
public String getName()

Returns the generated class name

Returns:String

The generated class name

getRuntimeVisibleAnnotationsAttributeback to summary
public AnnotationsAttribute getRuntimeVisibleAnnotationsAttribute()
getSuperclassback to summary
public String getSuperclass()
Returns:String

The generated superclass name

toBytecodeback to summary
public byte[] toBytecode()
writeback to summary
public void write(ByteArrayDataOutputStream stream) throws IOException

Implements org.jboss.classfilewriter.WritableEntry.write.