org.objectweb.asm.xml
Class Processor

java.lang.Object
  extended by org.objectweb.asm.xml.Processor

public class Processor
extends java.lang.Object

Processor is a command line tool that can be used for bytecode waving directed by XSL transformation.

In order to use a concrete XSLT engine, system property javax.xml.transform.TransformerFactory must be set to one of the following values.

jd.xslt jd.xml.xslt.trax.TransformerFactoryImpl
Saxon net.sf.saxon.TransformerFactoryImpl
Caucho com.caucho.xsl.Xsl
Xalan interpeter org.apache.xalan.processor.TransformerFactory
Xalan xsltc org.apache.xalan.xsltc.trax.TransformerFactoryImpl

Author:
Eugene Kuleshov

Nested Class Summary
private static class Processor.ASMContentHandlerFactory
          ASMContentHandlerFactory
private static interface Processor.ContentHandlerFactory
          A ContentHandlerFactory is used to create ContentHandler instances for concrete context.
private static interface Processor.EntryElement
           
private static class Processor.InputSlicingHandler
          A ContentHandler that splits XML documents into smaller chunks.
private static class Processor.OutputSlicingHandler
          A ContentHandler that splits XML documents into smaller chunks.
private static class Processor.ProtectedInputStream
          IputStream wrapper class used to protect input streams from being closed by some stupid XML parsers.
private static class Processor.SAXWriter
          A ContentHandler and LexicalHandler that serializes XML from SAX 2.0 events into Writer.
private static class Processor.SAXWriterFactory
          SAXWriterFactory
private static class Processor.SingleDocElement
           
private static class Processor.SubdocumentHandlerFactory
          SubdocumentHandlerFactory
private static class Processor.TransformerHandlerFactory
          TransformerHandlerFactory
private static class Processor.ZipEntryElement
           
 
Field Summary
static int BYTECODE
           
private  boolean computeMax
           
private  java.io.InputStream input
           
private  int inRepresentation
           
static int MULTI_XML
           
private  int n
           
private  java.io.OutputStream output
           
private  int outRepresentation
           
static int SINGLE_XML
           
private static java.lang.String SINGLE_XML_NAME
           
private  javax.xml.transform.Source xslt
           
 
Constructor Summary
Processor(int inRepresenation, int outRepresentation, java.io.InputStream input, java.io.OutputStream output, javax.xml.transform.Source xslt)
           
 
Method Summary
private  void copyEntry(java.io.InputStream is, java.io.OutputStream os)
           
private  Processor.EntryElement getEntryElement(java.util.zip.ZipOutputStream zos)
           
private  java.lang.String getName(java.util.zip.ZipEntry ze)
           
private static int getRepresentation(java.lang.String s)
           
private  boolean isClassEntry(java.util.zip.ZipEntry ze)
           
static void main(java.lang.String[] args)
           
 int process()
           
private  void processEntry(java.util.zip.ZipInputStream zis, java.util.zip.ZipEntry ze, Processor.ContentHandlerFactory handlerFactory)
           
private  byte[] readEntry(java.util.zip.ZipInputStream zis, java.util.zip.ZipEntry ze)
           
private static void showUsage()
           
 void update(java.lang.Object arg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BYTECODE

public static final int BYTECODE
See Also:
Constant Field Values

MULTI_XML

public static final int MULTI_XML
See Also:
Constant Field Values

SINGLE_XML

public static final int SINGLE_XML
See Also:
Constant Field Values

SINGLE_XML_NAME

private static final java.lang.String SINGLE_XML_NAME
See Also:
Constant Field Values

inRepresentation

private int inRepresentation

outRepresentation

private int outRepresentation

input

private java.io.InputStream input

output

private java.io.OutputStream output

xslt

private javax.xml.transform.Source xslt

computeMax

private boolean computeMax

n

private int n
Constructor Detail

Processor

public Processor(int inRepresenation,
                 int outRepresentation,
                 java.io.InputStream input,
                 java.io.OutputStream output,
                 javax.xml.transform.Source xslt)
Method Detail

process

public int process()
            throws javax.xml.transform.TransformerException,
                   java.io.IOException,
                   org.xml.sax.SAXException
Throws:
javax.xml.transform.TransformerException
java.io.IOException
org.xml.sax.SAXException

copyEntry

private void copyEntry(java.io.InputStream is,
                       java.io.OutputStream os)
                throws java.io.IOException
Throws:
java.io.IOException

isClassEntry

private boolean isClassEntry(java.util.zip.ZipEntry ze)

processEntry

private void processEntry(java.util.zip.ZipInputStream zis,
                          java.util.zip.ZipEntry ze,
                          Processor.ContentHandlerFactory handlerFactory)

getEntryElement

private Processor.EntryElement getEntryElement(java.util.zip.ZipOutputStream zos)

getName

private java.lang.String getName(java.util.zip.ZipEntry ze)

readEntry

private byte[] readEntry(java.util.zip.ZipInputStream zis,
                         java.util.zip.ZipEntry ze)
                  throws java.io.IOException
Throws:
java.io.IOException

update

public void update(java.lang.Object arg)

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception

getRepresentation

private static int getRepresentation(java.lang.String s)

showUsage

private static void showUsage()