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 classSegment.ArrayVisitorstatic classSegment.PassExceptionException 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.classSegment.SegmentAnnotationVisitorSegmentAnnotationVisitor implementsAnnotationVisitorto visit Annotations found in a class file.classSegment.SegmentFieldVisitorSegmentFieldVisitor implementsFieldVisitorto visit the metadata relating to fields in a class file.classSegment.SegmentMethodVisitorThis 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 AttributeDefinitionBandsgetAttrBands()ClassBandsgetClassBands()CpBandsgetCpBands()Pack200ClassReadergetCurrentClassReader()IcBandsgetIcBands()SegmentHeadergetSegmentHeader()booleanlastConstantHadWideIndex()voidpack(org.apache.commons.compress.harmony.pack200.Archive.SegmentUnit segmentUnit, java.io.OutputStream out, PackingOptions options)The main method on Segment.voidvisit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)org.objectweb.asm.AnnotationVisitorvisitAnnotation(java.lang.String desc, boolean visible)voidvisitAttribute(org.objectweb.asm.Attribute attribute)voidvisitEnd()org.objectweb.asm.FieldVisitorvisitField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)voidvisitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int flags)org.objectweb.asm.MethodVisitorvisitMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)voidvisitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)voidvisitSource(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:
visitin interfaceorg.objectweb.asm.ClassVisitor
-
visitSource
public void visitSource(java.lang.String source, java.lang.String debug)
- Specified by:
visitSourcein interfaceorg.objectweb.asm.ClassVisitor
-
visitOuterClass
public void visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)
- Specified by:
visitOuterClassin interfaceorg.objectweb.asm.ClassVisitor
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
- Specified by:
visitAnnotationin interfaceorg.objectweb.asm.ClassVisitor
-
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attribute)
- Specified by:
visitAttributein interfaceorg.objectweb.asm.ClassVisitor
-
visitInnerClass
public void visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int flags)
- Specified by:
visitInnerClassin 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:
visitFieldin 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:
visitMethodin interfaceorg.objectweb.asm.ClassVisitor
-
visitEnd
public void visitEnd()
- Specified by:
visitEndin 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()
-
-