Class Segment
- java.lang.Object
-
- org.apache.commons.compress.harmony.pack200.Segment
-
- All Implemented Interfaces:
org.objectweb.asm.ClassVisitor
public class Segment extends java.lang.Object implements org.objectweb.asm.ClassVisitor
A Pack200 archive consists of one or more Segments.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Segment.ArrayVisitor
static class
Segment.PassException
Exception indicating that the class currently being visited contains an unknown attribute, which means that by default the class file needs to be passed through as-is in the file_bands rather than being packed with pack200.class
Segment.SegmentAnnotationVisitor
SegmentAnnotationVisitor implementsAnnotationVisitor
to visit Annotations found in a class file.class
Segment.SegmentFieldVisitor
SegmentFieldVisitor implementsFieldVisitor
to visit the metadata relating to fields in a class file.class
Segment.SegmentMethodVisitor
This class implements MethodVisitor to visit the contents and metadata related to methods in a class file.
-
Constructor Summary
Constructors Constructor Description Segment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeDefinitionBands
getAttrBands()
ClassBands
getClassBands()
CpBands
getCpBands()
Pack200ClassReader
getCurrentClassReader()
IcBands
getIcBands()
SegmentHeader
getSegmentHeader()
boolean
lastConstantHadWideIndex()
void
pack(org.apache.commons.compress.harmony.pack200.Archive.SegmentUnit segmentUnit, java.io.OutputStream out, PackingOptions options)
The main method on Segment.void
visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
org.objectweb.asm.AnnotationVisitor
visitAnnotation(java.lang.String desc, boolean visible)
void
visitAttribute(org.objectweb.asm.Attribute attribute)
void
visitEnd()
org.objectweb.asm.FieldVisitor
visitField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
void
visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int flags)
org.objectweb.asm.MethodVisitor
visitMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
void
visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)
void
visitSource(java.lang.String source, java.lang.String debug)
-
-
-
Constructor Detail
-
Segment
public Segment()
-
-
Method Detail
-
pack
public void pack(org.apache.commons.compress.harmony.pack200.Archive.SegmentUnit segmentUnit, java.io.OutputStream out, PackingOptions options) throws java.io.IOException, Pack200Exception
The main method on Segment. Reads in all the class files, packs them and then writes the packed segment out to the given OutputStream.- Parameters:
segmentUnit
- TODOout
- the OutputStream to write the packed Segment tooptions
- packing options- Throws:
java.io.IOException
- If an I/O error occurs.Pack200Exception
- TODO
-
visit
public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
- Specified by:
visit
in interfaceorg.objectweb.asm.ClassVisitor
-
visitSource
public void visitSource(java.lang.String source, java.lang.String debug)
- Specified by:
visitSource
in interfaceorg.objectweb.asm.ClassVisitor
-
visitOuterClass
public void visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)
- Specified by:
visitOuterClass
in interfaceorg.objectweb.asm.ClassVisitor
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
- Specified by:
visitAnnotation
in interfaceorg.objectweb.asm.ClassVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attribute)
- Specified by:
visitAttribute
in interfaceorg.objectweb.asm.ClassVisitor
-
visitInnerClass
public void visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int flags)
- Specified by:
visitInnerClass
in interfaceorg.objectweb.asm.ClassVisitor
-
visitField
public org.objectweb.asm.FieldVisitor visitField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
- Specified by:
visitField
in interfaceorg.objectweb.asm.ClassVisitor
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
- Specified by:
visitMethod
in interfaceorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()
- Specified by:
visitEnd
in interfaceorg.objectweb.asm.ClassVisitor
-
getClassBands
public ClassBands getClassBands()
-
lastConstantHadWideIndex
public boolean lastConstantHadWideIndex()
-
getCpBands
public CpBands getCpBands()
-
getSegmentHeader
public SegmentHeader getSegmentHeader()
-
getAttrBands
public AttributeDefinitionBands getAttrBands()
-
getIcBands
public IcBands getIcBands()
-
getCurrentClassReader
public Pack200ClassReader getCurrentClassReader()
-
-