Package org.jibx.binding.classes
Class UnmarshalBuilder
-
public class UnmarshalBuilder extends MarshalUnmarshalBuilder
Unmarshalling method builder. Tracks the creation of an unmarshalling method, including special handling of exceptions that may be generated by object accesses during the unmarshalling process.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.bcel.generic.Type[]
SINGLE_STRING_ARGS
protected static String
UNMARSHAL_EXCEPTION_TEXT
protected static String
UNMARSHALLING_POSITION_METHOD
protected static String
UNMARSHALLING_POSITION_SIGNATURE
-
Fields inherited from class org.jibx.binding.classes.MethodBuilder
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
-
-
Constructor Summary
Constructors Constructor Description UnmarshalBuilder(String name, ClassFile cf, ClassFile mf)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.bcel.generic.InstructionHandle
genExceptionHandler()
Add exception handler code.-
Methods inherited from class org.jibx.binding.classes.MarshalUnmarshalBuilder
handleExceptions
-
Methods inherited from class org.jibx.binding.classes.ContextMethodBuilder
getFullName, isStaticMethod, loadContext, loadContext, loadObject, loadObject, setObjectSlot, storeObject
-
Methods inherited from class org.jibx.binding.classes.ExceptionMethodBuilder
defineSlot, freeSlot, getSlot
-
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, appendDUP_X1, 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 org.jibx.binding.classes.BindingMethod
computeMethodHash, equals, getClassFile, makeAccessible
-
-
-
-
Field Detail
-
UNMARSHAL_EXCEPTION_TEXT
protected static final String UNMARSHAL_EXCEPTION_TEXT
- See Also:
- Constant Field Values
-
UNMARSHALLING_POSITION_METHOD
protected static final String UNMARSHALLING_POSITION_METHOD
- See Also:
- Constant Field Values
-
UNMARSHALLING_POSITION_SIGNATURE
protected static final String UNMARSHALLING_POSITION_SIGNATURE
- See Also:
- Constant Field Values
-
SINGLE_STRING_ARGS
protected static final org.apache.bcel.generic.Type[] SINGLE_STRING_ARGS
-
-
Constructor Detail
-
UnmarshalBuilder
public UnmarshalBuilder(String name, ClassFile cf, ClassFile mf)
Constructor. This sets up for constructing a static unmarshalling method with public access and wrapped exception handling.- Parameters:
name
- method name to be builtcf
- unmarshal class file informationmf
- method generation class file information
-
-
Method Detail
-
genExceptionHandler
public org.apache.bcel.generic.InstructionHandle genExceptionHandler()
Add exception handler code. The implementation of this abstract base class method provides handling specific to an unmarshalling method.- Specified by:
genExceptionHandler
in classMarshalUnmarshalBuilder
- Returns:
- handle for first instruction in handler
-
-