public class MungedClass
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
MungedClass.JiBXFilter
Filter for class files generated by JiBX.
|
Modifier and Type | Field and Description |
---|---|
private static ClassFile[] |
EMPTY_CLASSFILE_ARRAY
Empty class file array.
|
private static java.lang.String[] |
EXTRA_METHODS_MATCHES
Name and signature for generated methods without standard prefix.
|
private ClassFile |
m_classFile
Munged class file information.
|
private ExistingMethod[] |
m_existingMethods
Existing binding methods in class.
|
private java.lang.String |
m_factoryList
List of factory names for this class.
|
private java.util.HashMap |
m_methodMap
Map from method byte code and signature to method item.
|
private static java.util.ArrayList |
s_classes
Munged class information.
|
private static java.util.HashMap |
s_classMap
Map from generated class to binding information.
|
private static java.util.HashSet |
s_classNameSet
Set of class names in list (used to assure uniqueness).
|
private static java.util.HashMap |
s_directories
Map of directories already checked for JiBX classes.
|
private static java.util.HashMap |
s_nameMap
Map from class name to binding information.
|
private static java.util.ArrayList |
s_pendingClasses
Munged classes to be unique-added at end of binding.
|
Modifier | Constructor and Description |
---|---|
private |
MungedClass(ClassFile cf)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
addFactory(java.lang.String fact)
Add binding factory to class.
|
static void |
addModifiedClass(ClassFile cf)
Add class file to set modified.
|
(package private) static void |
checkDirectory(java.io.File root,
java.lang.String pack)
Check directory for JiBX generated files.
|
static void |
delayedAddUnique(ClassFile cf)
Add unique support class at end of binding process.
|
static ClassFile[][] |
fixDispositions()
Finalize class name assignments and dispositions.
|
(package private) ClassFile |
getClassFile()
Get munged class file information.
|
(package private) static MungedClass |
getInstance(ClassFile cf)
Get modification tracking information for class.
|
(package private) BindingMethod |
getUniqueMethod(MethodBuilder builder,
boolean suffix)
Get unique method.
|
static ClassFile |
getUniqueSupportClass(ClassFile cf)
Get unique generated support class.
|
private void |
purgeUnusedMethods()
Delete pre-existing binding methods that are no longer needed.
|
static void |
reset()
Discard cached information and reset in preparation for a new binding
run.
|
(package private) void |
setFactoryList()
Generate factory list.
|
static void |
writeChanges()
Write all modified class files, and delete all obsolete class files from
previous runs of the binding compiler.
|
private static final ClassFile[] EMPTY_CLASSFILE_ARRAY
private static final java.lang.String[] EXTRA_METHODS_MATCHES
private static java.util.ArrayList s_classes
private static java.util.HashSet s_classNameSet
private static java.util.HashMap s_classMap
private static java.util.HashMap s_directories
private static java.util.HashMap s_nameMap
private static java.util.ArrayList s_pendingClasses
private ClassFile m_classFile
private java.util.HashMap m_methodMap
private ExistingMethod[] m_existingMethods
private java.lang.String m_factoryList
private MungedClass(ClassFile cf)
cf
- owning class file informationClassFile getClassFile()
private void purgeUnusedMethods()
BindingMethod getUniqueMethod(MethodBuilder builder, boolean suffix)
builder
- method to be definedsuffix
- append name suffix to assure uniqueness flagpublic static ClassFile getUniqueSupportClass(ClassFile cf)
cf
- generated class filestatic void checkDirectory(java.io.File root, java.lang.String pack) throws JiBXException
root
- class path root for directorypack
- package relative to root directoryJiBXException
- on configuration errorvoid addFactory(java.lang.String fact)
fact
- binding factory namevoid setFactoryList()
static MungedClass getInstance(ClassFile cf) throws JiBXException
cf
- information for class to be modified (must be writable)JiBXException
- on configuration errorpublic static void delayedAddUnique(ClassFile cf)
fixDispositions()
handling.cf
- class file to be added as unique support class at end of
bindingpublic static void addModifiedClass(ClassFile cf)
cf
- public static ClassFile[][] fixDispositions()
public static void writeChanges() throws JiBXException
JiBXException
- on write errorpublic static void reset()