## org.apache.poi.hpsf
Class Variant

    java.lang.Object
      org.apache.poi.hpsf.Variant

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.

Since:
  2002-02-09
Version:
  $Id: Variant.java,v 1.6.4.2 2004/02/22 11:54:45 glens Exp $
Author:
  Rainer Klute (klute@rainer-klute.de)

Field Summary
`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.
`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: Document this!
`static int` `VT_ILLEGALMASKED` FIXME: 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: 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: 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_VOID` [T] C style void.

Constructor Summary
`Variant()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### VT_EMPTY

    public static final int VT_EMPTY

  [V][P] Nothing.

  See Also:
    Constant Field Values

### VT_NULL

    public static final int VT_NULL

  [V][P] SQL style Null.

  See Also:
    Constant Field Values

### VT_I2

    public static final int VT_I2

  [V][T][P][S] 2 byte signed int.

  See Also:
    Constant Field Values

### VT_I4

    public static final int VT_I4

  [V][T][P][S] 4 byte signed int.

  See Also:
    Constant Field Values

### VT_R4

    public static final int VT_R4

  [V][T][P][S] 4 byte real.

  See Also:
    Constant Field Values

### VT_R8

    public static final int VT_R8

  [V][T][P][S] 8 byte real.

  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_I1

    public static final int VT_I1

  [T] signed char.

  See Also:
    Constant Field Values

### VT_UI1

    public static final int VT_UI1

  [V][T][P][S] unsigned char.

  See Also:
    Constant Field Values

### VT_UI2

    public static final int VT_UI2

  [T][P] unsigned short.

  See Also:
    Constant Field Values

### VT_UI4

    public static final int VT_UI4

  [T][P] unsigned int.

  See Also:
    Constant Field Values

### VT_I8

    public static final int VT_I8

  [T][P] signed 64-bit int.

  See Also:
    Constant Field Values

### VT_UI8

    public static final int VT_UI8

  [T][P] unsigned 64-bit int.

  See Also:
    Constant Field Values

### VT_INT

    public static final int VT_INT

  [T] signed machine int.

  See Also:
    Constant Field Values

### VT_UINT

    public static final int VT_UINT

  [T] unsigned machine int.

  See Also:
    Constant Field Values

### VT_VOID

    public static final int VT_VOID

  [T] C style void.

  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_BLOB

    public static final int VT_BLOB

  [P] Length prefixed bytes.

  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_CLSID

    public static final int VT_CLSID

  [P] A Class ID.

  It consists of a 32 bit unsigned integer indicating the size of the structure, a 32 bit signed integer indicating (Clipboard Format Tag) indicating the type of data that it contains, and then a byte array containing the data.

  The valid Clipboard Format Tags are:

  - `Thumbnail.CFTAG_WINDOWS`
  - `Thumbnail.CFTAG_MACINTOSH`
  - `Thumbnail.CFTAG_NODATA`
  - `Thumbnail.CFTAG_FMTID`

      typedef struct tagCLIPDATA {
       // cbSize is the size of the buffer pointed to
       // by pClipData, plus sizeof(ulClipFmt)
       ULONG              cbSize;
       long               ulClipFmt;
       BYTE*              pClipData;
       } CLIPDATA;

  See msdn.microsoft.com/library/en-us/com/stgrstrc_0uwk.asp.

  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: Document this!

  See Also:
    Constant Field Values

### VT_ILLEGAL

    public static final int VT_ILLEGAL

  FIXME: Document this!

  See Also:
    Constant Field Values

### VT_ILLEGALMASKED

    public static final int VT_ILLEGALMASKED

  FIXME: Document this!

  See Also:
    Constant Field Values

### VT_TYPEMASK

    public static final int VT_TYPEMASK

  FIXME: Document this!

  See Also:
    Constant Field Values

Constructor Detail

### Variant

    public Variant()

Copyright © 2003 Apache Software Foundation.