Documentation of 'org.apache.poi.hpsf.Variant' Java class
Variant
org.apache.poi.hpsf

Class Variant

  • Direct Known Subclasses:
    VariantSupport


    public class Variant
    extends java.lang.Object

    The Variant types as defined by Microsoft's COM. I found this information in http://www.marin.clara.net/COM/variant_type_definitions.htm.

    In the variant types descriptions the following shortcuts are used: [V] - may appear in a VARIANT, [T] - may appear in a TYPEDESC, [P] - may appear in an OLE property set, [S] - may appear in a Safe Array.

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.Integer LENGTH_0
      Denotes a variant type with a length of 0 bytes.
      static java.lang.Integer LENGTH_2
      Denotes a variant type with a length of 2 bytes.
      static java.lang.Integer LENGTH_4
      Denotes a variant type with a length of 4 bytes.
      static java.lang.Integer LENGTH_8
      Denotes a variant type with a length of 8 bytes.
      static java.lang.Integer LENGTH_UNKNOWN
      Denotes a variant type with a length that is unknown to HPSF yet.
      static java.lang.Integer LENGTH_VARIABLE
      Denotes a variant type with a variable length.
      static int VT_ARRAY
      [V] SAFEARRAY*.
      static int VT_BLOB
      [P] Length prefixed bytes.
      static int VT_BLOB_OBJECT
      [P] Blob contains an object.
      static int VT_BOOL
      [V][T][P][S] True=-1, False=0.
      static int VT_BSTR
      [V][T][P][S] OLE Automation string.
      static int VT_BYREF
      [V] void* for local use.
      static int VT_CARRAY
      [T] C style array.
      static int VT_CF
      [P] Clipboard format.
      static int VT_CLSID
      [P] A Class ID.
      static int VT_CY
      [V][T][P][S] currency.
      static int VT_DATE
      [V][T][P][S] date.
      static int VT_DECIMAL
      [V][T][S] 16 byte fixed point.
      static int VT_DISPATCH
      [V][T][P][S] IDispatch *.
      static int VT_EMPTY
      [V][P] Nothing, i.e.
      static int VT_ERROR
      [V][T][S] SCODE.
      static int VT_FILETIME
      [P] FILETIME.
      static int VT_HRESULT
      [T] Standard return type.
      static int VT_I1
      [T] signed char.
      static int VT_I2
      [V][T][P][S] 2 byte signed int.
      static int VT_I4
      [V][T][P][S] 4 byte signed int.
      static int VT_I8
      [T][P] signed 64-bit int.
      static int VT_ILLEGAL
      FIXME (3): Document this!
      static int VT_ILLEGALMASKED
      FIXME (3): Document this!
      static int VT_INT
      [T] signed machine int.
      static int VT_LPSTR
      [T][P] null terminated string.
      static int VT_LPWSTR
      [T][P] wide (Unicode) null terminated string.
      static int VT_NULL
      [V][P] SQL style Null.
      static int VT_PTR
      [T] pointer type.
      static int VT_R4
      [V][T][P][S] 4 byte real.
      static int VT_R8
      [V][T][P][S] 8 byte real.
      static int VT_RESERVED
      FIXME (3): Document this!
      static int VT_SAFEARRAY
      [T] (use VT_ARRAY in VARIANT).
      static int VT_STORAGE
      [P] Name of the storage follows.
      static int VT_STORED_OBJECT
      [P] Storage contains an object.
      static int VT_STREAM
      [P] Name of the stream follows.
      static int VT_STREAMED_OBJECT
      [P] Stream contains an object.
      static int VT_TYPEMASK
      FIXME (3): Document this!
      static int VT_UI1
      [V][T][P][S] unsigned char.
      static int VT_UI2
      [T][P] unsigned short.
      static int VT_UI4
      [T][P] unsigned int.
      static int VT_UI8
      [T][P] unsigned 64-bit int.
      static int VT_UINT
      [T] unsigned machine int.
      static int VT_UNKNOWN
      [V][T][S] IUnknown *.
      static int VT_USERDEFINED
      [T] user defined type.
      static int VT_VARIANT
      [V][T][P][S] VARIANT *.
      static int VT_VECTOR
      [P] simple counted array.
      static int VT_VERSIONED_STREAM
      "MUST be a VersionedStream.
      static int VT_VOID
      [T] C style void.
    • Constructor Summary

      Constructors 
      Constructor and Description
      Variant() 
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static int getVariantLength(long variantType)
      Returns a variant type's length.
      static java.lang.String getVariantName(long variantType)
      Returns the variant type name associated with a variant type number.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • VT_EMPTY

        public static final int VT_EMPTY

        [V][P] Nothing, i.e. not a single byte of data.

        See Also:
        Constant Field Values
      • VT_CY

        public static final int VT_CY

        [V][T][P][S] currency. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_DATE

        public static final int VT_DATE

        [V][T][P][S] date. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_BSTR

        public static final int VT_BSTR

        [V][T][P][S] OLE Automation string. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_DISPATCH

        public static final int VT_DISPATCH

        [V][T][P][S] IDispatch *. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_ERROR

        public static final int VT_ERROR

        [V][T][S] SCODE. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_BOOL

        public static final int VT_BOOL

        [V][T][P][S] True=-1, False=0.

        See Also:
        Constant Field Values
      • VT_VARIANT

        public static final int VT_VARIANT

        [V][T][P][S] VARIANT *. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_UNKNOWN

        public static final int VT_UNKNOWN

        [V][T][S] IUnknown *. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_DECIMAL

        public static final int VT_DECIMAL

        [V][T][S] 16 byte fixed point.

        See Also:
        Constant Field Values
      • VT_HRESULT

        public static final int VT_HRESULT

        [T] Standard return type. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_PTR

        public static final int VT_PTR

        [T] pointer type. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_SAFEARRAY

        public static final int VT_SAFEARRAY

        [T] (use VT_ARRAY in VARIANT).

        See Also:
        Constant Field Values
      • VT_CARRAY

        public static final int VT_CARRAY

        [T] C style array. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_USERDEFINED

        public static final int VT_USERDEFINED

        [T] user defined type. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_LPSTR

        public static final int VT_LPSTR

        [T][P] null terminated string.

        See Also:
        Constant Field Values
      • VT_LPWSTR

        public static final int VT_LPWSTR

        [T][P] wide (Unicode) null terminated string.

        See Also:
        Constant Field Values
      • VT_FILETIME

        public static final int VT_FILETIME

        [P] FILETIME. The FILETIME structure holds a date and time associated with a file. The structure identifies a 64-bit integer specifying the number of 100-nanosecond intervals which have passed since January 1, 1601. This 64-bit value is split into the two dwords stored in the structure.

        See Also:
        Constant Field Values
      • VT_STREAM

        public static final int VT_STREAM

        [P] Name of the stream follows.

        See Also:
        Constant Field Values
      • VT_STORAGE

        public static final int VT_STORAGE

        [P] Name of the storage follows.

        See Also:
        Constant Field Values
      • VT_STREAMED_OBJECT

        public static final int VT_STREAMED_OBJECT

        [P] Stream contains an object. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_STORED_OBJECT

        public static final int VT_STORED_OBJECT

        [P] Storage contains an object. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_BLOB_OBJECT

        public static final int VT_BLOB_OBJECT

        [P] Blob contains an object. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_CF

        public static final int VT_CF

        [P] Clipboard format. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_VERSIONED_STREAM

        public static final int VT_VERSIONED_STREAM
        "MUST be a VersionedStream. The storage representing the (non-simple) property set MUST have a stream element with the name in the StreamName field." -- [MS-OLEPS] -- v20110920; Object Linking and Embedding (OLE) Property Set Data Structures; page 24 / 63
        See Also:
        Constant Field Values
      • VT_VECTOR

        public static final int VT_VECTOR

        [P] simple counted array. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_ARRAY

        public static final int VT_ARRAY

        [V] SAFEARRAY*. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_BYREF

        public static final int VT_BYREF

        [V] void* for local use. How long is this? How is it to be interpreted?

        See Also:
        Constant Field Values
      • VT_RESERVED

        public static final int VT_RESERVED

        FIXME (3): Document this!

        See Also:
        Constant Field Values
      • VT_ILLEGAL

        public static final int VT_ILLEGAL

        FIXME (3): Document this!

        See Also:
        Constant Field Values
      • VT_ILLEGALMASKED

        public static final int VT_ILLEGALMASKED

        FIXME (3): Document this!

        See Also:
        Constant Field Values
      • VT_TYPEMASK

        public static final int VT_TYPEMASK

        FIXME (3): Document this!

        See Also:
        Constant Field Values
      • LENGTH_UNKNOWN

        public static final java.lang.Integer LENGTH_UNKNOWN

        Denotes a variant type with a length that is unknown to HPSF yet.

      • LENGTH_VARIABLE

        public static final java.lang.Integer LENGTH_VARIABLE

        Denotes a variant type with a variable length.

      • LENGTH_0

        public static final java.lang.Integer LENGTH_0

        Denotes a variant type with a length of 0 bytes.

      • LENGTH_2

        public static final java.lang.Integer LENGTH_2

        Denotes a variant type with a length of 2 bytes.

      • LENGTH_4

        public static final java.lang.Integer LENGTH_4

        Denotes a variant type with a length of 4 bytes.

      • LENGTH_8

        public static final java.lang.Integer LENGTH_8

        Denotes a variant type with a length of 8 bytes.

    • Constructor Detail

      • Variant

        public Variant()
    • Method Detail

      • getVariantName

        public static java.lang.String getVariantName(long variantType)

        Returns the variant type name associated with a variant type number.

        Parameters:
        variantType - The variant type number
        Returns:
        The variant type name or the string "unknown variant type"
      • getVariantLength

        public static int getVariantLength(long variantType)

        Returns a variant type's length.

        Parameters:
        variantType - The variant type number
        Returns:
        The length of the variant type's data in bytes. If the length is variable, i.e. the length of a string, -1 is returned. If HPSF does not know the length, -2 is returned. The latter usually indicates an unsupported variant type.

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.