org.jibx.binding.classes
Class MarshalBuilder
java.lang.Object
org.jibx.binding.classes.BindingMethod
org.jibx.binding.classes.MethodBuilder
org.jibx.binding.classes.ExceptionMethodBuilder
org.jibx.binding.classes.ContextMethodBuilder
org.jibx.binding.classes.MarshalUnmarshalBuilder
org.jibx.binding.classes.MarshalBuilder
public class MarshalBuilder
- extends MarshalUnmarshalBuilder
Marshalling method builder. Tracks the creation of a marshalling method,
including special handling of exceptions that may be generated by object
accesses during the marshalling process.
- Version:
- 1.0
- Author:
- Dennis M. Sosnoski
Fields inherited from class org.jibx.binding.classes.MethodBuilder |
EMPTY_STRING_ARRAY, EXCEPTION_CONSTRUCTOR_SIGNATURE1, EXCEPTION_CONSTRUCTOR_SIGNATURE2, FRAMEWORK_EXCEPTION_CLASS, m_exceptions, m_generator, m_hashCode, m_instructionBuilder, m_item, m_method, m_targetBranches, m_valueMap, s_argNameLists, SYNTHETIC_ACCESS_FLAG |
Method Summary |
org.apache.bcel.generic.InstructionHandle |
genExceptionHandler()
Add exception handler code. |
Methods inherited from class org.jibx.binding.classes.MethodBuilder |
addException, addLocal, addMethod, addMethodExceptions, appendAASTORE, appendACONST_NULL, appendALOAD, appendARRAYLENGTH, appendASTORE, appendCall, appendCallInit, appendCallInterface, appendCallStatic, appendCallVirtual, appendCreateArray, appendCreateCast, appendCreateCast, appendCreateNew, appendDCMPG, appendDUP_X1, appendDUP, appendDUP2, appendFCMPG, appendGet, appendGetField, appendGetStatic, appendIASTORE, appendICONST_0, appendICONST_1, appendIF_ICMPNE, appendIFEQ, appendIFGE, appendIFLT, appendIFNE, appendIFNONNULL, appendIFNULL, appendIncrementLocal, appendInstanceOf, appendISUB, appendIXOR, appendLCMP, appendLoadConstant, appendLoadConstant, appendLoadConstant, appendLoadLocal, appendPOP, appendPOP2, appendPut, appendPutField, appendPutStatic, appendReturn, appendReturn, appendReturn, appendStoreLocal, appendSWAP, appendSWAP1For2, appendTargetACONST_NULL, appendTargetCreateNew, appendTargetLoadConstant, appendTargetLoadConstant, appendTargetNOP, appendThrow, appendUnconditionalBranch, codeComplete, createLocal, getAccessFlags, getFirstInstruction, getItem, getKeyValue, getLastInstruction, getMethod, getName, getSignature, hashCode, initStackState, initStackState, initStackState, internalAppendCreateNew, isStackTopLong, setAccessFlags, setKeyValue, setTarget, targetNext, targetNext |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
MARSHALCONTEXT_CLASS
private static final java.lang.String MARSHALCONTEXT_CLASS
- See Also:
- Constant Field Values
MARSHAL_EXCEPTION_TEXT
protected static final java.lang.String MARSHAL_EXCEPTION_TEXT
- See Also:
- Constant Field Values
MARSHAL_METHOD_ARGS
protected static final org.apache.bcel.generic.Type[] MARSHAL_METHOD_ARGS
MarshalBuilder
public MarshalBuilder(java.lang.String name,
ClassFile cf,
ClassFile mf)
throws JiBXException
- Constructor. This sets up for constructing a marshalling method with
public access and wrapped exception handling. If the method is being
generated directly to the class being marshalled it's built as a virtual
method; otherwise, it's done as a static method.
- Parameters:
name
- method name to be builtcf
- owning class file informationmf
- method generation class file information
- Throws:
JiBXException
- on error in initializing method construction
genExceptionHandler
public org.apache.bcel.generic.InstructionHandle genExceptionHandler()
throws JiBXException
- Add exception handler code. The implementation of this abstract base
class method provides handling specific to a marshalling method.
- Specified by:
genExceptionHandler
in class MarshalUnmarshalBuilder
- Returns:
- handle for first instruction in handler
- Throws:
JiBXException
- on error in creating exception handler