Package com.sun.jna.platform.win32

## Class Variant.VARIANT

- java.lang.Object
- - com.sun.jna.Structure
  - - com.sun.jna.Union
    - - com.sun.jna.platform.win32.Variant.VARIANT

- Direct Known Subclasses:
    `Variant.VARIANT.ByReference`, `Variant.VARIANT.ByValue`
  Enclosing interface:
    Variant

      public static class Variant.VARIANT
      extends Union

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Variant.VARIANT._VARIANT` |
    `static class` | `Variant.VARIANT.ByReference` |
    `static class` | `Variant.VARIANT.ByValue` |

    - ### Nested classes/interfaces inherited from class com.sun.jna.Structure

      `Structure.FieldOrder, Structure.StructField`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `Variant.VARIANT._VARIANT` | `_variant` |
    `OaIdl.DECIMAL` | `decVal` |
    `static Variant.VARIANT` | `VARIANT_MISSING` |

    - ### Fields inherited from class com.sun.jna.Structure

      `ALIGN_DEFAULT, ALIGN_GNUC, ALIGN_MSVC, ALIGN_NONE, CALCULATE_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VARIANT()` |
    `VARIANT​(boolean value)` |
    `VARIANT​(byte value)` |
    `VARIANT​(char value)` |
    `VARIANT​(double value)` |
    `VARIANT​(float value)` |
    `VARIANT​(int value)` |
    `VARIANT​(long value)` |
    `VARIANT​(short value)` |
    `VARIANT​(Dispatch value)` |
    `VARIANT​(IDispatch value)` | Deprecated. Use `VARIANT(com.sun.jna.platform.win32.COM.Dispatch)`
    `VARIANT​(OaIdl.DATE value)` |
    `VARIANT​(OaIdl.SAFEARRAY array)` |
    `VARIANT​(OaIdl.SAFEARRAYByReference array)` |
    `VARIANT​(OaIdl.VARIANT_BOOL value)` |
    `VARIANT​(WinDef.BOOL value)` |
    `VARIANT​(WinDef.BYTE value)` |
    `VARIANT​(WinDef.CHAR value)` |
    `VARIANT​(WinDef.LONG value)` |
    `VARIANT​(WinDef.SHORT value)` |
    `VARIANT​(WTypes.BSTR value)` |
    `VARIANT​(WTypes.BSTRByReference value)` |
    `VARIANT​(Pointer pointer)` |
    `VARIANT​(IntByReference value)` |
    `VARIANT​(java.lang.String value)` | Create a new VARIANT wrapping the supplied string.
    `VARIANT​(java.util.Date value)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `booleanValue()` |
    `byte` | `byteValue()` |
    `java.util.Date` | `dateValue()` |
    `double` | `doubleValue()` |
    `float` | `floatValue()` |
    `java.lang.Object` | `getValue()` |
    `WTypes.VARTYPE` | `getVarType()` |
    `int` | `intValue()` |
    `long` | `longValue()` |
    `void` | `setValue​(int vt, java.lang.Object value)` |
    `void` | `setValue​(OaIdl.SAFEARRAY array)` |
    `void` | `setValue​(OaIdl.SAFEARRAYByReference array)` |
    `void` | `setValue​(WTypes.VARTYPE vt, java.lang.Object value)` |
    `void` | `setVarType​(short vt)` |
    `short` | `shortValue()` |
    `java.lang.String` | `stringValue()` |

    - ### Methods inherited from class com.sun.jna.Union

      `getFieldOrder, getNativeAlignment, getTypedValue, readField, readField, setType, setType, setTypedValue, writeField, writeField, writeField`

    - ### Methods inherited from class com.sun.jna.Structure

      `allocateMemory, allocateMemory, autoAllocate, autoRead, autoRead, autoWrite, autoWrite, cacheTypeInfo, calculateSize, clear, createFieldsOrder, createFieldsOrder, createFieldsOrder, createFieldsOrder, dataEquals, dataEquals, ensureAllocated, equals, fieldOffset, getAutoRead, getAutoWrite, getFieldList, getFields, getNativeSize, getNativeSize, getPointer, getStringEncoding, getStructAlignment, hashCode, newInstance, newInstance, read, setAlignType, setAutoRead, setAutoSynch, setAutoWrite, setStringEncoding, size, sortFields, toArray, toArray, toString, toString, useMemory, useMemory, write`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### VARIANT_MISSING

          public static final Variant.VARIANT VARIANT_MISSING

    - #### _variant

          public Variant.VARIANT._VARIANT _variant

    - #### decVal

          public OaIdl.DECIMAL decVal

  - ### Constructor Detail

    - #### VARIANT

          public VARIANT()

    - #### VARIANT

          public VARIANT​(Pointer pointer)

    - #### VARIANT

          public VARIANT​(WTypes.BSTR value)

    - #### VARIANT

          public VARIANT​(WTypes.BSTRByReference value)

    - #### VARIANT

          public VARIANT​(OaIdl.VARIANT_BOOL value)

    - #### VARIANT

          public VARIANT​(WinDef.BOOL value)

    - #### VARIANT

          public VARIANT​(WinDef.LONG value)

    - #### VARIANT

          public VARIANT​(WinDef.SHORT value)

    - #### VARIANT

          public VARIANT​(OaIdl.DATE value)

    - #### VARIANT

          public VARIANT​(byte value)

    - #### VARIANT

          public VARIANT​(WinDef.BYTE value)

    - #### VARIANT

          public VARIANT​(char value)

    - #### VARIANT

          public VARIANT​(WinDef.CHAR value)

    - #### VARIANT

          public VARIANT​(short value)

    - #### VARIANT

          public VARIANT​(int value)

    - #### VARIANT

          public VARIANT​(IntByReference value)

    - #### VARIANT

          public VARIANT​(long value)

    - #### VARIANT

          public VARIANT​(float value)

    - #### VARIANT

          public VARIANT​(double value)

    - #### VARIANT

          public VARIANT​(java.lang.String value)

      Create a new VARIANT wrapping the supplied string.

      Implementation note: the string is wrapped as a BSTR value, that is allocated using `OleAuto.SysAllocString(java.lang.String)` and needs to be freed using `OleAuto.SysFreeString(com.sun.jna.platform.win32.WTypes.BSTR)` by the user

      Parameters:
        `value` - to be wrapped

    - #### VARIANT

          public VARIANT​(boolean value)

    - #### VARIANT

          @Deprecated
          public VARIANT​(IDispatch value)

      Deprecated.
      Use `VARIANT(com.sun.jna.platform.win32.COM.Dispatch)`

    - #### VARIANT

          public VARIANT​(Dispatch value)

    - #### VARIANT

          public VARIANT​(java.util.Date value)

    - #### VARIANT

          public VARIANT​(OaIdl.SAFEARRAY array)

    - #### VARIANT

          public VARIANT​(OaIdl.SAFEARRAYByReference array)

  - ### Method Detail

    - #### getVarType

          public WTypes.VARTYPE getVarType()

    - #### setVarType

          public void setVarType​(short vt)

    - #### setValue

          public void setValue​(int vt,
                               java.lang.Object value)

    - #### setValue

          public void setValue​(OaIdl.SAFEARRAY array)

    - #### setValue

          public void setValue​(OaIdl.SAFEARRAYByReference array)

    - #### setValue

          public void setValue​(WTypes.VARTYPE vt,
                               java.lang.Object value)

    - #### getValue

          public java.lang.Object getValue()

    - #### byteValue

          public byte byteValue()

    - #### shortValue

          public short shortValue()

    - #### intValue

          public int intValue()

    - #### longValue

          public long longValue()

    - #### floatValue

          public float floatValue()

    - #### doubleValue

          public double doubleValue()

    - #### stringValue

          public java.lang.String stringValue()

    - #### booleanValue

          public boolean booleanValue()

    - #### dateValue

          public java.util.Date dateValue()