Package org.objectweb.asm.xml
Class ASMContentHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.objectweb.asm.xml.ASMContentHandler
-
- All Implemented Interfaces:
Opcodes,org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler
public class ASMContentHandler extends org.xml.sax.helpers.DefaultHandler implements Opcodes
AContentHandlerthat transforms XML document into Java class file. This class can be feeded by any kind of SAX 2.0 event producers, e.g. XML parser, XSLT or XPath engines, or custom code.- Author:
- Eugene Kuleshov
- See Also:
SAXClassAdapter,Processor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classASMContentHandler.RuleRule
-
Field Summary
Fields Modifier and Type Field Description protected ClassVisitorcvCurrent instance of theClassVisitorused to visit classfile bytecode.protected java.util.Map<java.lang.Object,Label>labelsMap of the activeLabelinstances for current method.-
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8
-
-
Constructor Summary
Constructors Constructor Description ASMContentHandler(ClassVisitor cv)Constructs a newASMContentHandlerobject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendElement(java.lang.String ns, java.lang.String lName, java.lang.String qName)Process notification of the end of an XML element being reached.voidstartElement(java.lang.String ns, java.lang.String lName, java.lang.String qName, org.xml.sax.Attributes list)Process notification of the start of an XML element being reached.
-
-
-
Field Detail
-
cv
protected ClassVisitor cv
Current instance of theClassVisitorused to visit classfile bytecode.
-
-
Constructor Detail
-
ASMContentHandler
public ASMContentHandler(ClassVisitor cv)
Constructs a newASMContentHandlerobject.- Parameters:
cv- class visitor that will be called to reconstruct the classfile using the XML stream.
-
-
Method Detail
-
startElement
public final void startElement(java.lang.String ns, java.lang.String lName, java.lang.String qName, org.xml.sax.Attributes list) throws org.xml.sax.SAXExceptionProcess notification of the start of an XML element being reached.- Specified by:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin classorg.xml.sax.helpers.DefaultHandler- Parameters:
ns- - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.lName- - The local name (without prefix), or the empty string if Namespace processing is not being performed.qName- - The qualified name (with prefix), or the empty string if qualified names are not available.list- - The attributes attached to the element. If there are no attributes, it shall be an empty Attributes object.- Throws:
org.xml.sax.SAXException- if a parsing error is to be reported
-
endElement
public final void endElement(java.lang.String ns, java.lang.String lName, java.lang.String qName) throws org.xml.sax.SAXExceptionProcess notification of the end of an XML element being reached.- Specified by:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler- Parameters:
ns- - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.lName- - The local name (without prefix), or the empty string if Namespace processing is not being performed.qName- - The qualified XML 1.0 name (with prefix), or the empty string if qualified names are not available.- Throws:
org.xml.sax.SAXException- if a parsing error is to be reported
-
-