org.apache.poi.ddf
Class EscherBlipWMFRecord

java.lang.Object
  extended by org.apache.poi.ddf.EscherRecord
      extended by org.apache.poi.ddf.EscherBlipRecord
          extended by org.apache.poi.ddf.EscherBlipWMFRecord

public class EscherBlipWMFRecord
extends EscherBlipRecord

The blip record is used to hold details about large binary objects that occur in escher such as JPEG, GIF, PICT and WMF files. The contents of the stream is usually compressed. Inflate can be used to decompress the data.

Author:
Glen Stampoultzis
See Also:
Inflater

Field Summary
static java.lang.String RECORD_DESCRIPTION
           
 
Fields inherited from class org.apache.poi.ddf.EscherBlipRecord
field_pictureData, RECORD_ID_END, RECORD_ID_START
 
Constructor Summary
EscherBlipWMFRecord()
           
 
Method Summary
static byte[] compress(byte[] data)
          Compress the contents of the provided array
static byte[] decompress(byte[] data, int pos, int length)
          Decompresses a byte array.
 int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
          The contract of this method is to deserialize an escher record including it's children.
 int getBoundaryHeight()
          Retrieve the boundary height of the metafile drawing commands
 int getBoundaryLeft()
          Retrieve the left boundary of the metafile drawing commands
 int getBoundaryTop()
          Retrieve the top boundary of the metafile drawing commands
 int getBoundaryWidth()
          Retrieve the boundary width of the metafile drawing commands
 int getCacheOfSavedSize()
          Retrieve the cache of the saved size
 int getCacheOfSize()
          Retrieve the cache of the metafile size
 byte getCompressionFlag()
          Is the contents of the blip compressed?
 byte[] getData()
          The BLIP data
 byte getFilter()
          Filter should always be 0
 int getHeight()
          Retrieve the height of the metafile in EMU's (English Metric Units).
 java.lang.String getRecordName()
          Subclasses should return the short name for this escher record.
 int getRecordSize()
          Subclasses should effeciently return the number of bytes required to serialize the record.
 byte[] getSecondaryUID()
          Retrieve the secondary UID
 int getWidth()
          Retrieve the width of the metafile in EMU's (English Metric Units).
 int serialize(int offset, byte[] data, EscherSerializationListener listener)
          Serializes the record to an existing byte array.
 void setBoundaryHeight(int field_6_boundaryHeight)
          Set the boundary height of the metafile drawing commands
 void setBoundaryLeft(int field_4_boundaryLeft)
          Set the left boundary of the metafile drawing commands
 void setBoundaryTop(int field_3_boundaryTop)
          Set the top boundary of the metafile drawing commands
 void setBoundaryWidth(int field_5_boundaryWidth)
          Set the boundary width of the metafile drawing commands
 void setCacheOfSavedSize(int field_9_cacheOfSavedSize)
          Set the cache of the saved size
 void setCacheOfSize(int field_2_cacheOfSize)
          Set the cache of the metafile size
 void setCompressionFlag(byte field_10_compressionFlag)
          Set whether the contents of the blip is compressed
 void setData(byte[] field_12_data)
          The BLIP data
 void setFilter(byte field_11_filter)
          Filter should always be 0
 void setHeight(int height)
          Set the height of the metafile in EMU's (English Metric Units).
 void setSecondaryUID(byte[] field_1_secondaryUID)
          Set the secondary UID
 void setWidth(int width)
          Set the width of the metafile in EMU's (English Metric Units).
 java.lang.String toString()
          The string representation of this record.
 
Methods inherited from class org.apache.poi.ddf.EscherBlipRecord
getPicturedata, setPictureData
 
Methods inherited from class org.apache.poi.ddf.EscherRecord
clone, display, fillFields, getChild, getChildRecords, getInstance, getOptions, getRecordId, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RECORD_DESCRIPTION

public static final java.lang.String RECORD_DESCRIPTION
See Also:
Constant Field Values
Constructor Detail

EscherBlipWMFRecord

public EscherBlipWMFRecord()
Method Detail

fillFields

public int fillFields(byte[] data,
                      int offset,
                      EscherRecordFactory recordFactory)
Description copied from class: EscherRecord
The contract of this method is to deserialize an escher record including it's children.

Overrides:
fillFields in class EscherBlipRecord
Parameters:
data - The byte array containing the serialized escher records.
offset - The offset into the byte array.
recordFactory - A factory for creating new escher records.
Returns:
The number of bytes written.

serialize

public int serialize(int offset,
                     byte[] data,
                     EscherSerializationListener listener)
Description copied from class: EscherRecord
Serializes the record to an existing byte array.

Overrides:
serialize in class EscherBlipRecord
Parameters:
offset - the offset within the byte array
data - the data array to serialize to
listener - a listener for begin and end serialization events. This is useful because the serialization is hierarchical/recursive and sometimes you need to be able break into that.
Returns:
the number of bytes written.

getRecordSize

public int getRecordSize()
Description copied from class: EscherRecord
Subclasses should effeciently return the number of bytes required to serialize the record.

Overrides:
getRecordSize in class EscherBlipRecord
Returns:
number of bytes

getRecordName

public java.lang.String getRecordName()
Description copied from class: EscherRecord
Subclasses should return the short name for this escher record.

Overrides:
getRecordName in class EscherBlipRecord

getSecondaryUID

public byte[] getSecondaryUID()
Retrieve the secondary UID


setSecondaryUID

public void setSecondaryUID(byte[] field_1_secondaryUID)
Set the secondary UID


getCacheOfSize

public int getCacheOfSize()
Retrieve the cache of the metafile size


setCacheOfSize

public void setCacheOfSize(int field_2_cacheOfSize)
Set the cache of the metafile size


getBoundaryTop

public int getBoundaryTop()
Retrieve the top boundary of the metafile drawing commands


setBoundaryTop

public void setBoundaryTop(int field_3_boundaryTop)
Set the top boundary of the metafile drawing commands


getBoundaryLeft

public int getBoundaryLeft()
Retrieve the left boundary of the metafile drawing commands


setBoundaryLeft

public void setBoundaryLeft(int field_4_boundaryLeft)
Set the left boundary of the metafile drawing commands


getBoundaryWidth

public int getBoundaryWidth()
Retrieve the boundary width of the metafile drawing commands


setBoundaryWidth

public void setBoundaryWidth(int field_5_boundaryWidth)
Set the boundary width of the metafile drawing commands


getBoundaryHeight

public int getBoundaryHeight()
Retrieve the boundary height of the metafile drawing commands


setBoundaryHeight

public void setBoundaryHeight(int field_6_boundaryHeight)
Set the boundary height of the metafile drawing commands


getWidth

public int getWidth()
Retrieve the width of the metafile in EMU's (English Metric Units).


setWidth

public void setWidth(int width)
Set the width of the metafile in EMU's (English Metric Units).


getHeight

public int getHeight()
Retrieve the height of the metafile in EMU's (English Metric Units).


setHeight

public void setHeight(int height)
Set the height of the metafile in EMU's (English Metric Units).


getCacheOfSavedSize

public int getCacheOfSavedSize()
Retrieve the cache of the saved size


setCacheOfSavedSize

public void setCacheOfSavedSize(int field_9_cacheOfSavedSize)
Set the cache of the saved size


getCompressionFlag

public byte getCompressionFlag()
Is the contents of the blip compressed?


setCompressionFlag

public void setCompressionFlag(byte field_10_compressionFlag)
Set whether the contents of the blip is compressed


getFilter

public byte getFilter()
Filter should always be 0


setFilter

public void setFilter(byte field_11_filter)
Filter should always be 0


getData

public byte[] getData()
The BLIP data


setData

public void setData(byte[] field_12_data)
The BLIP data


toString

public java.lang.String toString()
The string representation of this record.

Overrides:
toString in class EscherBlipRecord
Returns:
A string

compress

public static byte[] compress(byte[] data)
Compress the contents of the provided array

Parameters:
data - An uncompressed byte array
See Also:
DeflaterOutputStream.write(int b)

decompress

public static byte[] decompress(byte[] data,
                                int pos,
                                int length)
Decompresses a byte array.

Parameters:
data - The compressed byte array
pos - The starting position into the byte array
length - The number of compressed bytes to decompress
Returns:
An uncompressed byte array
See Also:
InflaterInputStream.read()


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.