Top Description Fields Constructors Methods
org.apache.pdfbox.jbig2

public Class SegmentHeader

extends Object
Class Inheritance
Annotations
@SuppressWarnings:unchecked
Imports
java.io.IOException, java.lang.ref.Reference, .SoftReference, java.util.HashMap, .Map, javax.imageio.stream.ImageInputStream, org.apache.pdfbox.jbig2.io.SubInputStream, org.apache.pdfbox.jbig2.segments.EndOfStripe, .GenericRefinementRegion, .GenericRegion, .HalftoneRegion, .PageInformation, .PatternDictionary, .Profiles, .SymbolDictionary, .Table, .TextRegion

The basic class for all JBIG2 segments.

Field Summary

Modifier and TypeField and Description
private int
private byte
private byte
private SegmentHeader[]
private static final Map<Integer, Class<? extends SegmentData>>
private Reference<SegmentData>
private long
private long
private long
private int
private int
private final SubInputStream

Constructor Summary

AccessConstructor and Description
public
SegmentHeader(JBIG2Document document, SubInputStream sis, long offset, int organisationType)

Method Summary

Modifier and TypeMethod and Description
public void
public SubInputStream

Returns:

The SubInputStream that represents the data part of the segment.
getDataInputStream
()

Creates and returns a new SubInputStream that provides the data part of this segment.

public int
public short
public SegmentHeader[]
public SegmentData

Returns:

Retrieved SegmentData instance.
getSegmentData
()

Retrieves the segments' data part.

public long
public long
public long
public int
public int
private void
parse(JBIG2Document document, ImageInputStream subInputStream, long
- The offset where the segment header starts
offset
,
int organisationType)

private int

Returns:

The amount of referred-to segments.
readAmountOfReferredToSegments
(ImageInputStream subInputStream)

7.2.4 Amount of referred-to segments

private void
readDataStartOffset(ImageInputStream subInputStream, int organisationType)

Sets the offset only if organization type is SEQUENTIAL.

private int[]

Returns:

An array with the segment number of all referred-to segments.
readReferredToSegmentsNumbers
(ImageInputStream
- Wrapped source data input stream.
subInputStream
,
int
- The amount of referred-to segments.
countOfRTS
)

7.2.5 Referred-to segments numbers

Gathers all segment numbers of referred-to segments.

private void
readSegmentDataLength(ImageInputStream subInputStream)

7.2.7 Segment data length

Contains the length of the data part in bytes.

private void
readSegmentHeaderFlag(ImageInputStream subInputStream)

7.2.3 Segment header flags

private void
readSegmentHeaderLength(ImageInputStream subInputStream, long offset)

private void
readSegmentNumber(ImageInputStream subInputStream)

7.2.2 Segment number

private void
readSegmentPageAssociation(JBIG2Document document, ImageInputStream subInputStream, int countOfRTS, int[] rtsNumbers)

7.2.6 Segment page association

public void
setSegmentDataStartOffset(long segmentDataStartOffset)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

pageAssociationback to summary
private int pageAssociation
pageAssociationFieldSizeback to summary
private byte pageAssociationFieldSize
retainFlagback to summary
private byte retainFlag
rtSegmentsback to summary
private SegmentHeader[] rtSegments
SEGMENT_TYPE_MAPback to summary
private static final Map<Integer, Class<? extends SegmentData>> SEGMENT_TYPE_MAP
segmentDataback to summary
private Reference<SegmentData> segmentData
segmentDataLengthback to summary
private long segmentDataLength
segmentDataStartOffsetback to summary
private long segmentDataStartOffset
segmentHeaderLengthback to summary
private long segmentHeaderLength
segmentNrback to summary
private int segmentNr
segmentTypeback to summary
private int segmentType
subInputStreamback to summary
private final SubInputStream subInputStream

Constructor Detail

SegmentHeaderback to summary
public SegmentHeader(JBIG2Document document, SubInputStream sis, long offset, int organisationType) throws IOException

Method Detail

cleanSegmentDataback to summary
public void cleanSegmentData()
getDataInputStreamback to summary
public SubInputStream getDataInputStream()

Creates and returns a new SubInputStream that provides the data part of this segment. It is a clipped view of the source input stream.

Returns:SubInputStream

The SubInputStream that represents the data part of the segment.

getPageAssociationback to summary
public int getPageAssociation()
getRetainFlagback to summary
public short getRetainFlag()
getRtSegmentsback to summary
public SegmentHeader[] getRtSegments()
getSegmentDataback to summary
public SegmentData getSegmentData()

Retrieves the segments' data part.

Returns:SegmentData

Retrieved SegmentData instance.

getSegmentDataLengthback to summary
public long getSegmentDataLength()
getSegmentDataStartOffsetback to summary
public long getSegmentDataStartOffset()
getSegmentHeaderLengthback to summary
public long getSegmentHeaderLength()
getSegmentNrback to summary
public int getSegmentNr()
getSegmentTypeback to summary
public int getSegmentType()
parseback to summary
private void parse(JBIG2Document document, ImageInputStream subInputStream, long offset, int organisationType) throws IOException
Parameters
offset:long

- The offset where the segment header starts

readAmountOfReferredToSegmentsback to summary
private int readAmountOfReferredToSegments(ImageInputStream subInputStream) throws IOException

7.2.4 Amount of referred-to segments

Returns:int

The amount of referred-to segments.

readDataStartOffsetback to summary
private void readDataStartOffset(ImageInputStream subInputStream, int organisationType) throws IOException

Sets the offset only if organization type is SEQUENTIAL. If random, data starts after segment headers and can be determined when all segment headers are parsed and allocated.

readReferredToSegmentsNumbersback to summary
private int[] readReferredToSegmentsNumbers(ImageInputStream subInputStream, int countOfRTS) throws IOException

7.2.5 Referred-to segments numbers

Gathers all segment numbers of referred-to segments. The segments itself are stored in the rtSegments array.

Parameters
subInputStream:ImageInputStream

- Wrapped source data input stream.

countOfRTS:int

- The amount of referred-to segments.

Returns:int[]

An array with the segment number of all referred-to segments.

readSegmentDataLengthback to summary
private void readSegmentDataLength(ImageInputStream subInputStream) throws IOException

7.2.7 Segment data length

Contains the length of the data part in bytes.

readSegmentHeaderFlagback to summary
private void readSegmentHeaderFlag(ImageInputStream subInputStream) throws IOException

7.2.3 Segment header flags

readSegmentHeaderLengthback to summary
private void readSegmentHeaderLength(ImageInputStream subInputStream, long offset) throws IOException
readSegmentNumberback to summary
private void readSegmentNumber(ImageInputStream subInputStream) throws IOException

7.2.2 Segment number

readSegmentPageAssociationback to summary
private void readSegmentPageAssociation(JBIG2Document document, ImageInputStream subInputStream, int countOfRTS, int[] rtsNumbers) throws IOException

7.2.6 Segment page association

setSegmentDataStartOffsetback to summary
public void setSegmentDataStartOffset(long segmentDataStartOffset)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object