public class VariantSupport extends Variant
FIXME (3): Reading and writing should be made more uniform than it is now. The following items should be resolved:
Modifier and Type | Field and Description |
---|---|
static int[] |
SUPPORTED_TYPES
HPSF is able to read these
Variant types. |
LENGTH_0, LENGTH_2, LENGTH_4, LENGTH_8, LENGTH_UNKNOWN, LENGTH_VARIABLE, VT_ARRAY, VT_BLOB, VT_BLOB_OBJECT, VT_BOOL, VT_BSTR, VT_BYREF, VT_CARRAY, VT_CF, VT_CLSID, VT_CY, VT_DATE, VT_DECIMAL, VT_DISPATCH, VT_EMPTY, VT_ERROR, VT_FILETIME, VT_HRESULT, VT_I1, VT_I2, VT_I4, VT_I8, VT_ILLEGAL, VT_ILLEGALMASKED, VT_INT, VT_LPSTR, VT_LPWSTR, VT_NULL, VT_PTR, VT_R4, VT_R8, VT_RESERVED, VT_SAFEARRAY, VT_STORAGE, VT_STORED_OBJECT, VT_STREAM, VT_STREAMED_OBJECT, VT_TYPEMASK, VT_UI1, VT_UI2, VT_UI4, VT_UI8, VT_UINT, VT_UNKNOWN, VT_USERDEFINED, VT_VARIANT, VT_VECTOR, VT_VERSIONED_STREAM, VT_VOID
Constructor and Description |
---|
VariantSupport() |
Modifier and Type | Method and Description |
---|---|
static boolean |
isLogUnsupportedTypes()
Checks whether logging of unsupported variant types warning is turned
on or off.
|
boolean |
isSupportedType(int variantType)
Checks whether HPSF supports the specified variant type.
|
static Object |
read(byte[] src,
int offset,
int length,
long type,
int codepage)
Reads a variant type from a byte array.
|
static Object |
read(LittleEndianByteArrayInputStream lei,
int length,
long type,
int codepage) |
static void |
setLogUnsupportedTypes(boolean logUnsupportedTypes)
Specifies whether warnings about unsupported variant types are to be
written to
System.err or not. |
static int |
write(OutputStream out,
long type,
Object value,
int codepage)
Writes a variant value to an output stream.
|
getVariantLength, getVariantName
public static final int[] SUPPORTED_TYPES
Variant
types.public static void setLogUnsupportedTypes(boolean logUnsupportedTypes)
System.err
or not.logUnsupportedTypes
- If true
warnings will be written,
if false
they won't.public static boolean isLogUnsupportedTypes()
true
if logging is turned on, else
false
.public boolean isSupportedType(int variantType)
SUPPORTED_TYPES
array.variantType
- the variant type to checktrue
if HPFS supports this type, else
false
Variant
public static Object read(byte[] src, int offset, int length, long type, int codepage) throws ReadingNotSupportedException, UnsupportedEncodingException
src
- The byte arrayoffset
- The offset in the byte array where the variant startslength
- The length of the variant including the variant type fieldtype
- The variant type to readcodepage
- The codepage to use for non-wide stringsLong
, a VT_LPSTR as a
String
.ReadingNotSupportedException
- if a property is to be written
who's variant type HPSF does not yet supportUnsupportedEncodingException
- if the specified codepage is not
supported.Variant
public static Object read(LittleEndianByteArrayInputStream lei, int length, long type, int codepage) throws ReadingNotSupportedException, UnsupportedEncodingException
public static int write(OutputStream out, long type, Object value, int codepage) throws IOException, WritingNotSupportedException
out
- The stream to write the value to.type
- The variant's type.value
- The variant's value.codepage
- The codepage to use to write non-wide stringsIOException
- if an I/O exceptions occursWritingNotSupportedException
- if a property is to be written
who's variant type HPSF does not yet supportCopyright © 2010 - 2020 Adobe. All Rights Reserved