public class Ole10Native
extends java.lang.Object
Ole10Native objects come in different shapes:
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
OLE10_NATIVE |
Constructor and Description |
---|
Ole10Native(byte[] data,
int offset)
Creates an instance and fills the fields based on the data in the given buffer.
|
Ole10Native(java.lang.String label,
java.lang.String filename,
java.lang.String command,
byte[] data)
Creates an instance and fills the fields based on ...
|
Modifier and Type | Method and Description |
---|---|
static Ole10Native |
createFromEmbeddedOleObject(DirectoryNode directory)
Creates an instance of this class from an embedded OLE Object.
|
static Ole10Native |
createFromEmbeddedOleObject(POIFSFileSystem poifs)
Creates an instance of this class from an embedded OLE Object.
|
static void |
createOleMarkerEntry(DirectoryEntry parent)
Add the \1OLE marker entry, which is not the Ole10Native entry.
|
static void |
createOleMarkerEntry(POIFSFileSystem poifs)
Add the \1OLE marker entry, which is not the Ole10Native entry.
|
java.lang.String |
getCommand()
Returns the command field - usually the name of the file being embedded
including the full path, may be a command specified during embedding the
file.
|
java.lang.String |
getCommand2()
Get Command string of UTF16 extended OLE packages or
null if not set or not UTF16 extended |
byte[] |
getDataBuffer()
Returns the buffer containing the embedded file's data, or
null if no data was embedded. |
int |
getDataSize()
Returns the size of the embedded file.
|
java.lang.String |
getFileName()
Returns the fileName field - usually the name of the file being embedded
including the full path.
|
java.lang.String |
getFileName2()
Get filename string for UTF16 extended OLE packages or
null if not set or not UTF16 extended |
short |
getFlags1()
Returns flags1 - currently unknown - usually 0x0002.
|
short |
getFlags2()
Returns flags2 - currently unknown - mostly 0x0000.
|
java.lang.String |
getLabel()
Returns the label field - usually the name of the file (without
directory) but probably may be any name specified during
packaging/embedding the data.
|
java.lang.String |
getLabel2()
Get Label string for UTF16 extended OLE packages or
null if not set or not UTF16 extended |
static int |
getMaxRecordLength() |
static int |
getMaxStringLength() |
int |
getTotalSize()
Returns the value of the totalSize field - the total length of the
structure is totalSize + 4 (value of this field + size of this field).
|
short |
getUnknown1()
Returns unknown1 field - currently unknown.
|
void |
setCommand(java.lang.String command) |
void |
setCommand2(java.lang.String command2)
Set Command string for UTF16 extended OLE packages or
null if not set or not UTF16 extended |
void |
setDataBuffer(byte[] dataBuffer) |
void |
setFileName(java.lang.String fileName) |
void |
setFileName2(java.lang.String fileName2)
Set filename string for UTF16 extended OLE packages or
null if not set or not UTF16 extended |
void |
setFlags1(short flags1) |
void |
setFlags2(short flags2) |
void |
setLabel(java.lang.String label) |
void |
setLabel2(java.lang.String label2)
Set Label string for UTF16 extended OLE packages or
null if not set or not UTF16 extended |
static void |
setMaxRecordLength(int length) |
static void |
setMaxStringLength(int length) |
void |
setUnknown1(short unknown1) |
void |
writeOut(java.io.OutputStream out)
Have the contents printer out into an OutputStream, used when writing a
file back out to disk (Normally, atom classes will keep their bytes
around, but non atom classes will just request the bytes from their
children, then chuck on their header and return)
|
public static final java.lang.String OLE10_NATIVE
public Ole10Native(java.lang.String label, java.lang.String filename, java.lang.String command, byte[] data)
public Ole10Native(byte[] data, int offset) throws Ole10NativeException
data
- The buffer containing the Ole10Native recordoffset
- The start offset of the record in the bufferOle10NativeException
- on invalid or unexcepted data formatpublic static Ole10Native createFromEmbeddedOleObject(POIFSFileSystem poifs) throws java.io.IOException, Ole10NativeException
poifs
- POI Filesystem objectjava.io.IOException
- on IO errorOle10NativeException
- on invalid or unexcepted data formatpublic static Ole10Native createFromEmbeddedOleObject(DirectoryNode directory) throws java.io.IOException, Ole10NativeException
directory
- POI Filesystem objectjava.io.IOException
- on IO errorOle10NativeException
- on invalid or unexcepted data formatpublic static void setMaxRecordLength(int length)
length
- the max record length allowed for Ole10Nativepublic static int getMaxRecordLength()
public static void setMaxStringLength(int length)
length
- the max string length allowed for Ole10Nativepublic static int getMaxStringLength()
public static void createOleMarkerEntry(DirectoryEntry parent) throws java.io.IOException
java.io.IOException
public static void createOleMarkerEntry(POIFSFileSystem poifs) throws java.io.IOException
java.io.IOException
public int getTotalSize()
public short getFlags1()
public java.lang.String getLabel()
public java.lang.String getFileName()
public short getFlags2()
public short getUnknown1()
public java.lang.String getCommand()
public int getDataSize()
getDataBuffer()
returns null
.public byte[] getDataBuffer()
null
if no data was embedded. Note that an embedding may
provide information about the data, but the actual data is not included.
(So label, filename etc. are available, but this method returns
null
.)public void writeOut(java.io.OutputStream out) throws java.io.IOException
java.io.IOException
public void setFlags1(short flags1)
public void setFlags2(short flags2)
public void setLabel(java.lang.String label)
public void setFileName(java.lang.String fileName)
public void setCommand(java.lang.String command)
public void setUnknown1(short unknown1)
public void setDataBuffer(byte[] dataBuffer)
public java.lang.String getCommand2()
null
if not set or not UTF16 extendedpublic void setCommand2(java.lang.String command2)
null
if not set or not UTF16 extendedpublic java.lang.String getLabel2()
null
if not set or not UTF16 extendedpublic void setLabel2(java.lang.String label2)
null
if not set or not UTF16 extendedpublic java.lang.String getFileName2()
null
if not set or not UTF16 extendedpublic void setFileName2(java.lang.String fileName2)
null
if not set or not UTF16 extendedCopyright 2022 The Apache Software Foundation or its licensors, as applicable.