org.jomc.tools
Class ClassFileProcessor

Package class diagram package ClassFileProcessor
java.lang.Object
  extended by org.jomc.tools.JomcTool
      extended by org.jomc.tools.ClassFileProcessor

public class ClassFileProcessor
extends JomcTool

Processes class files.

Use cases

Version:
$Id: ClassFileProcessor.java 2182 2010-06-28 18:52:08Z schulte2005 $
Author:
Christian Schulte
See Also:
JomcTool.getModules()

Nested Class Summary
Modifier and Type Class and Description
 
Nested classes/interfaces inherited from class org.jomc.tools.JomcTool
JomcTool.Listener
 
Constructor Summary
Constructor and Description
ClassFileProcessor()
          Creates a new ClassFileProcessor instance.
ClassFileProcessor(ClassFileProcessor tool)
          Creates a new ClassFileProcessor instance taking a ClassFileProcessor instance to initialize the instance with.
 
Method Summary
Modifier and Type Method and Description
 void commitModelObjects(org.jomc.model.Implementation implementation, javax.xml.bind.Marshaller marshaller, org.apache.bcel.classfile.JavaClass javaClass)
          Commits model objects of a given implementation of the modules of the instance to a given class file.
 void commitModelObjects(org.jomc.model.Implementation implementation, org.jomc.modlet.ModelContext context, File classesDirectory)
          Commits model objects of a given implementation of the modules of the instance to class files.
 void commitModelObjects(org.jomc.modlet.ModelContext context, File classesDirectory)
          Commits model objects of the modules of the instance to class files.
 void commitModelObjects(org.jomc.model.Module module, org.jomc.modlet.ModelContext context, File classesDirectory)
          Commits model objects of a given module of the modules of the instance to class files.
 void commitModelObjects(org.jomc.model.Specification specification, javax.xml.bind.Marshaller marshaller, org.apache.bcel.classfile.JavaClass javaClass)
          Commits model objects of a given specification of the modules of the instance to a given class file.
 void commitModelObjects(org.jomc.model.Specification specification, org.jomc.modlet.ModelContext context, File classesDirectory)
          Commits model objects of a given specification of the modules of the instance to class files.
<T extends org.jomc.model.ModelObject>
T
decodeModelObject(javax.xml.bind.Unmarshaller unmarshaller, byte[] bytes, Class<T> type)
          Decodes a model object from a byte array.
 byte[] encodeModelObject(javax.xml.bind.Marshaller marshaller, javax.xml.bind.JAXBElement<? extends org.jomc.model.ModelObject> modelObject)
          Encodes a model object to a byte array.
 byte[] getClassfileAttribute(org.apache.bcel.classfile.JavaClass clazz, String attributeName)
          Gets an attribute from a java class.
 void setClassfileAttribute(org.apache.bcel.classfile.JavaClass clazz, String attributeName, byte[] data)
          Adds or updates an attribute in a java class.
 void transformModelObjects(org.jomc.model.Implementation implementation, javax.xml.bind.Marshaller marshaller, javax.xml.bind.Unmarshaller unmarshaller, org.apache.bcel.classfile.JavaClass javaClass, List<Transformer> transformers)
          Transforms model objects of a given implementation of the modules of the instance.
 void transformModelObjects(org.jomc.model.Implementation implementation, org.jomc.modlet.ModelContext context, File classesDirectory, List<Transformer> transformers)
          Transforms model objects of class files of a given implementation of the modules of the instance.
 void transformModelObjects(org.jomc.modlet.ModelContext context, File classesDirectory, List<Transformer> transformers)
          Transforms model objects of class files of the modules of the instance.
 void transformModelObjects(org.jomc.model.Module module, org.jomc.modlet.ModelContext context, File classesDirectory, List<Transformer> transformers)
          Transforms model objects of class files of a given module of the modules of the instance.
 void transformModelObjects(org.jomc.model.Specification specification, javax.xml.bind.Marshaller marshaller, javax.xml.bind.Unmarshaller unmarshaller, org.apache.bcel.classfile.JavaClass javaClass, List<Transformer> transformers)
          Transforms model objects of a given specification of the modules of the instance.
 void transformModelObjects(org.jomc.model.Specification specification, org.jomc.modlet.ModelContext context, File classesDirectory, List<Transformer> transformers)
          Transforms model objects of class files of a given specification of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Implementation implementation, org.jomc.modlet.ModelContext context)
          Validates model objects of class files of a given implementation of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Implementation implementation, org.jomc.modlet.ModelContext context, File classesDirectory)
          Validates model objects of class files of a given implementation of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Implementation implementation, javax.xml.bind.Unmarshaller unmarshaller, org.apache.bcel.classfile.JavaClass javaClass)
          Validates model objects of a given implementation of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.modlet.ModelContext context)
          Validates model objects of class files of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.modlet.ModelContext context, File classesDirectory)
          Validates model objects of class files of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Module module, org.jomc.modlet.ModelContext context)
          Validates model objects of class files of a given module of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Module module, org.jomc.modlet.ModelContext context, File classesDirectory)
          Validates model objects of class files of a given module of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Specification specification, org.jomc.modlet.ModelContext context)
          Validates model objects of class files of a given specification of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Specification specification, org.jomc.modlet.ModelContext context, File classesDirectory)
          Validates model objects of class files of a given specification of the modules of the instance.
 org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Specification specification, javax.xml.bind.Unmarshaller unmarshaller, org.apache.bcel.classfile.JavaClass javaClass)
          Validates model objects of a given specification of the modules of the instance.
 
Methods inherited from class org.jomc.tools.JomcTool
getDefaultLogLevel, getDefaultTemplateProfile, getDisplayLanguage, getIndentation, getIndentation, getInputEncoding, getJavaClasspathLocation, getJavaClasspathLocation, getJavadocComment, getJavaGetterMethodName, getJavaGetterMethodName, getJavaGetterMethodName, getJavaInterfaceNames, getJavaModifierName, getJavaModifierName, getJavaModifierName, getJavaPackageName, getJavaPackageName, getJavaPackageName, getJavaString, getJavaTypeName, getJavaTypeName, getJavaTypeName, getJavaTypeName, getJavaTypeName, getJavaTypeName, getLineSeparator, getListeners, getLogLevel, getLongDate, getLongDateTime, getLongTime, getModel, getModules, getOutputEncoding, getShortDate, getShortDateTime, getShortTime, getTemplateEncoding, getTemplateProfile, getVelocityContext, getVelocityEngine, getVelocityTemplate, getYears, isJavaDefaultPackage, isJavaDefaultPackage, isJavaPrimitiveType, isLoggable, log, setDefaultLogLevel, setDefaultTemplateProfile, setIndentation, setInputEncoding, setLineSeparator, setLogLevel, setModel, setOutputEncoding, setTemplateEncoding, setTemplateProfile, setVelocityEngine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassFileProcessor

public ClassFileProcessor()
Creates a new ClassFileProcessor instance.


ClassFileProcessor

public ClassFileProcessor(ClassFileProcessor tool)
                   throws IOException
Creates a new ClassFileProcessor instance taking a ClassFileProcessor instance to initialize the instance with.

Parameters:
tool - The instance to initialize the new instance with,
Throws:
NullPointerException - if tool is null.
IOException - if copying tool fails.
Method Detail

commitModelObjects

public final void commitModelObjects(org.jomc.modlet.ModelContext context,
                                     File classesDirectory)
                              throws IOException
Commits model objects of the modules of the instance to class files.

Parameters:
context - The model context to use for committing the model objects.
classesDirectory - The directory holding the class files.
Throws:
NullPointerException - if context or classesDirectory is null.
IOException - if committing model objects fails.
See Also:
commitModelObjects(org.jomc.model.Module, org.jomc.modlet.ModelContext, java.io.File)

commitModelObjects

public final void commitModelObjects(org.jomc.model.Module module,
                                     org.jomc.modlet.ModelContext context,
                                     File classesDirectory)
                              throws IOException
Commits model objects of a given module of the modules of the instance to class files.

Parameters:
module - The module to process.
context - The model context to use for committing the model objects.
classesDirectory - The directory holding the class files.
Throws:
NullPointerException - if module, context or classesDirectory is null.
IOException - if committing model objects fails.
See Also:
commitModelObjects(org.jomc.model.Specification, org.jomc.modlet.ModelContext, java.io.File), commitModelObjects(org.jomc.model.Implementation, org.jomc.modlet.ModelContext, java.io.File)

commitModelObjects

public final void commitModelObjects(org.jomc.model.Specification specification,
                                     org.jomc.modlet.ModelContext context,
                                     File classesDirectory)
                              throws IOException
Commits model objects of a given specification of the modules of the instance to class files.

Parameters:
specification - The specification to process.
context - The model context to use for committing the model objects.
classesDirectory - The directory holding the class files.
Throws:
NullPointerException - if specification, context or classesDirectory is null.
IOException - if committing model objects fails.
See Also:
commitModelObjects(org.jomc.model.Specification, javax.xml.bind.Marshaller, org.apache.bcel.classfile.JavaClass)

commitModelObjects

public final void commitModelObjects(org.jomc.model.Implementation implementation,
                                     org.jomc.modlet.ModelContext context,
                                     File classesDirectory)
                              throws IOException
Commits model objects of a given implementation of the modules of the instance to class files.

Parameters:
implementation - The implementation to process.
context - The model context to use for committing the model objects.
classesDirectory - The directory holding the class files.
Throws:
NullPointerException - if implementation, context or classesDirectory is null.
IOException - if committing model objects fails.
See Also:
commitModelObjects(org.jomc.model.Implementation, javax.xml.bind.Marshaller, org.apache.bcel.classfile.JavaClass)

commitModelObjects

public void commitModelObjects(org.jomc.model.Specification specification,
                               javax.xml.bind.Marshaller marshaller,
                               org.apache.bcel.classfile.JavaClass javaClass)
                        throws IOException
Commits model objects of a given specification of the modules of the instance to a given class file.

Parameters:
specification - The specification to process.
marshaller - The marshaller to use for committing the model objects.
javaClass - The java class to commit.
Throws:
NullPointerException - if specification, marshaller or javaClass is null.
IOException - if committing model objects fails.

commitModelObjects

public void commitModelObjects(org.jomc.model.Implementation implementation,
                               javax.xml.bind.Marshaller marshaller,
                               org.apache.bcel.classfile.JavaClass javaClass)
                        throws IOException
Commits model objects of a given implementation of the modules of the instance to a given class file.

Parameters:
implementation - The implementation to process.
marshaller - The marshaller to use for committing the model objects.
javaClass - The java class to commit.
Throws:
NullPointerException - if implementation, marshaller or javaClass is null.
IOException - if committing model objects fails.

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.modlet.ModelContext context)
                                                                 throws IOException
Validates model objects of class files of the modules of the instance.

Parameters:
context - The model context to use for validating model objects.
Returns:
The report of the validation.
Throws:
NullPointerException - if context is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Module, org.jomc.modlet.ModelContext)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Module module,
                                                                        org.jomc.modlet.ModelContext context)
                                                                 throws IOException
Validates model objects of class files of a given module of the modules of the instance.

Parameters:
module - The module to process.
context - The model context to use for validating model objects.
Returns:
The report of the validation.
Throws:
NullPointerException - if module or context is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Specification, org.jomc.modlet.ModelContext), validateModelObjects(org.jomc.model.Implementation, org.jomc.modlet.ModelContext)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Specification specification,
                                                                        org.jomc.modlet.ModelContext context)
                                                                 throws IOException
Validates model objects of class files of a given specification of the modules of the instance.

Parameters:
specification - The specification to process.
context - The model context to use for validating model objects.
Returns:
The report of the validation.
Throws:
NullPointerException - if specification or context is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Specification, javax.xml.bind.Unmarshaller, org.apache.bcel.classfile.JavaClass)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Implementation implementation,
                                                                        org.jomc.modlet.ModelContext context)
                                                                 throws IOException
Validates model objects of class files of a given implementation of the modules of the instance.

Parameters:
implementation - The implementation to process.
context - The model context to use for validating model objects.
Returns:
The report of the validation.
Throws:
NullPointerException - if implementation or context is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Implementation, javax.xml.bind.Unmarshaller, org.apache.bcel.classfile.JavaClass)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.modlet.ModelContext context,
                                                                        File classesDirectory)
                                                                 throws IOException
Validates model objects of class files of the modules of the instance.

Parameters:
context - The model context to use for validating model objects.
classesDirectory - The directory holding the class files.
Returns:
The report of the validation.
Throws:
NullPointerException - if context or classesDirectory is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Module, org.jomc.modlet.ModelContext, java.io.File)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Module module,
                                                                        org.jomc.modlet.ModelContext context,
                                                                        File classesDirectory)
                                                                 throws IOException
Validates model objects of class files of a given module of the modules of the instance.

Parameters:
module - The module to process.
context - The model context to use for validating model objects.
classesDirectory - The directory holding the class files.
Returns:
The report of the validation.
Throws:
NullPointerException - if module, context or classesDirectory is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Specification, org.jomc.modlet.ModelContext, java.io.File), validateModelObjects(org.jomc.model.Implementation, org.jomc.modlet.ModelContext, java.io.File)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Specification specification,
                                                                        org.jomc.modlet.ModelContext context,
                                                                        File classesDirectory)
                                                                 throws IOException
Validates model objects of class files of a given specification of the modules of the instance.

Parameters:
specification - The specification to process.
context - The model context to use for validating model objects.
classesDirectory - The directory holding the class files.
Returns:
The report of the validation.
Throws:
NullPointerException - if specification, context or classesDirectory is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Specification, javax.xml.bind.Unmarshaller, org.apache.bcel.classfile.JavaClass)

validateModelObjects

public final org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Implementation implementation,
                                                                        org.jomc.modlet.ModelContext context,
                                                                        File classesDirectory)
                                                                 throws IOException
Validates model objects of class files of a given implementation of the modules of the instance.

Parameters:
implementation - The implementation to process.
context - The model context to use for validating model objects.
classesDirectory - The directory holding the class files.
Returns:
The report of the validation.
Throws:
NullPointerException - if implementation, context or classesDirectory is null.
IOException - if validating model objects fails.
See Also:
validateModelObjects(org.jomc.model.Implementation, javax.xml.bind.Unmarshaller, org.apache.bcel.classfile.JavaClass)

validateModelObjects

public org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Specification specification,
                                                                  javax.xml.bind.Unmarshaller unmarshaller,
                                                                  org.apache.bcel.classfile.JavaClass javaClass)
                                                           throws IOException
Validates model objects of a given specification of the modules of the instance.

Parameters:
specification - The specification to process.
unmarshaller - The unmarshaller to use for validating model objects.
javaClass - The java class to validate.
Returns:
The report of the validation.
Throws:
NullPointerException - if specification, unmarshaller or javaClass is null.
IOException - if validating model objects fails.

validateModelObjects

public org.jomc.modlet.ModelValidationReport validateModelObjects(org.jomc.model.Implementation implementation,
                                                                  javax.xml.bind.Unmarshaller unmarshaller,
                                                                  org.apache.bcel.classfile.JavaClass javaClass)
                                                           throws IOException
Validates model objects of a given implementation of the modules of the instance.

Parameters:
implementation - The implementation to process.
unmarshaller - The unmarshaller to use for validating model objects.
javaClass - The java class to validate.
Returns:
The report of the validation.
Throws:
NullPointerException - if implementation, unmarshaller or javaClass is null.
IOException - if validating model objects fails.

transformModelObjects

public final void transformModelObjects(org.jomc.modlet.ModelContext context,
                                        File classesDirectory,
                                        List<Transformer> transformers)
                                 throws IOException
Transforms model objects of class files of the modules of the instance.

Parameters:
context - The model context to use for transforming model objects.
classesDirectory - The directory holding the class files.
transformers - The transformers to use for transforming model objects.
Throws:
NullPointerException - if context, classesDirectory or transformers is null.
IOException - if transforming model objects fails.
See Also:
transformModelObjects(org.jomc.model.Module, org.jomc.modlet.ModelContext, java.io.File, java.util.List)

transformModelObjects

public final void transformModelObjects(org.jomc.model.Module module,
                                        org.jomc.modlet.ModelContext context,
                                        File classesDirectory,
                                        List<Transformer> transformers)
                                 throws IOException
Transforms model objects of class files of a given module of the modules of the instance.

Parameters:
module - The module to process.
context - The model context to use for transforming model objects.
classesDirectory - The directory holding the class files.
transformers - The transformers to use for transforming the model objects.
Throws:
NullPointerException - if module, context, classesDirectory or transformers is null.
IOException - if transforming model objects fails.
See Also:
transformModelObjects(org.jomc.model.Specification, org.jomc.modlet.ModelContext, java.io.File, java.util.List), transformModelObjects(org.jomc.model.Implementation, org.jomc.modlet.ModelContext, java.io.File, java.util.List)

transformModelObjects

public final void transformModelObjects(org.jomc.model.Specification specification,
                                        org.jomc.modlet.ModelContext context,
                                        File classesDirectory,
                                        List<Transformer> transformers)
                                 throws IOException
Transforms model objects of class files of a given specification of the modules of the instance.

Parameters:
specification - The specification to process.
context - The model context to use for transforming model objects.
classesDirectory - The directory holding the class files.
transformers - The transformers to use for transforming the model objects.
Throws:
NullPointerException - if specification, context, classesDirectory or transformers is null.
IOException - if transforming model objects fails.
See Also:
transformModelObjects(org.jomc.model.Specification, javax.xml.bind.Marshaller, javax.xml.bind.Unmarshaller, org.apache.bcel.classfile.JavaClass, java.util.List)

transformModelObjects

public final void transformModelObjects(org.jomc.model.Implementation implementation,
                                        org.jomc.modlet.ModelContext context,
                                        File classesDirectory,
                                        List<Transformer> transformers)
                                 throws IOException
Transforms model objects of class files of a given implementation of the modules of the instance.

Parameters:
implementation - The implementation to process.
context - The model context to use for transforming model objects.
classesDirectory - The directory holding the class files.
transformers - The transformers to use for transforming the model objects.
Throws:
NullPointerException - if implementation, context, classesDirectory or transformers is null.
IOException - if transforming model objects fails.
See Also:
transformModelObjects(org.jomc.model.Implementation, javax.xml.bind.Marshaller, javax.xml.bind.Unmarshaller, org.apache.bcel.classfile.JavaClass, java.util.List)

transformModelObjects

public void transformModelObjects(org.jomc.model.Specification specification,
                                  javax.xml.bind.Marshaller marshaller,
                                  javax.xml.bind.Unmarshaller unmarshaller,
                                  org.apache.bcel.classfile.JavaClass javaClass,
                                  List<Transformer> transformers)
                           throws IOException
Transforms model objects of a given specification of the modules of the instance.

Parameters:
specification - The specification to process.
marshaller - The marshaller to use for transforming model objects.
unmarshaller - The unmarshaller to use for transforming model objects.
javaClass - The the class file to transform.
transformers - The transformers to use for transforming the model objects.
Throws:
NullPointerException - if specification, marshaller, unmarshaller, javaClass or transformers is null.
IOException - if transforming model objects fails.

transformModelObjects

public void transformModelObjects(org.jomc.model.Implementation implementation,
                                  javax.xml.bind.Marshaller marshaller,
                                  javax.xml.bind.Unmarshaller unmarshaller,
                                  org.apache.bcel.classfile.JavaClass javaClass,
                                  List<Transformer> transformers)
                           throws IOException
Transforms model objects of a given implementation of the modules of the instance.

Parameters:
implementation - The implementation to process.
marshaller - The marshaller to use for transforming model objects.
unmarshaller - The unmarshaller to use for transforming model objects.
javaClass - The the class file to transform.
transformers - The transformers to use for transforming the model objects.
Throws:
NullPointerException - if implementation, marshaller, unmarshaller, javaClass or transformers is null.
IOException - if transforming model objects fails.

getClassfileAttribute

public byte[] getClassfileAttribute(org.apache.bcel.classfile.JavaClass clazz,
                                    String attributeName)
                             throws IOException
Gets an attribute from a java class.

Parameters:
clazz - The java class to get an attribute from.
attributeName - The name of the attribute to get.
Returns:
The value of attribute attributeName of clazz or null if no such attribute exists.
Throws:
NullPointerException - if clazz or attributeName is null.
IOException - if getting the attribute fails.
See Also:
JavaClass.getAttributes()

setClassfileAttribute

public void setClassfileAttribute(org.apache.bcel.classfile.JavaClass clazz,
                                  String attributeName,
                                  byte[] data)
                           throws IOException
Adds or updates an attribute in a java class.

Parameters:
clazz - The class to update.
attributeName - The name of the attribute to update.
data - The new data of the attribute to update the classFile with.
Throws:
NullPointerException - if clazz or attributeName is null.
IOException - if updating the class file fails.
See Also:
JavaClass.getAttributes()

encodeModelObject

public byte[] encodeModelObject(javax.xml.bind.Marshaller marshaller,
                                javax.xml.bind.JAXBElement<? extends org.jomc.model.ModelObject> modelObject)
                         throws IOException
Encodes a model object to a byte array.

Parameters:
marshaller - The marshaller to use for encoding the object.
modelObject - The model object to encode.
Returns:
GZIP compressed XML document for modelObject.
Throws:
NullPointerException - if marshaller or modelObject is null.
IOException - if encoding modelObject fails.

decodeModelObject

public <T extends org.jomc.model.ModelObject> T decodeModelObject(javax.xml.bind.Unmarshaller unmarshaller,
                                                                  byte[] bytes,
                                                                  Class<T> type)
                                                       throws IOException
Decodes a model object from a byte array.

Type Parameters:
T - The type of the decoded model object.
Parameters:
unmarshaller - The unmarshaller to use for decoding the object.
bytes - The encoded model object to decode.
type - The type of the encoded model object.
Returns:
Model object decoded from bytes.
Throws:
NullPointerException - if unmarshaller, bytes or type is null.
IOException - if decoding bytes fails.


Copyright © 2005-2010 The JOMC Project. All Rights Reserved.