Class Convert
- java.lang.Object
-
- com.sun.jna.platform.win32.COM.util.Convert
-
class Convert extends Object
This class is considered internal to the package.
-
-
Constructor Summary
Constructors Constructor Description Convert()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
free(Variant.VARIANT variant, Class<?> javaType)
Free the contents of the supplied VARIANT.static void
free(Variant.VARIANT variant, Object value)
Free the contents of the supplied VARIANT.static <T extends IComEnum>
TtoComEnum(Class<T> enumType, Object value)
static Object
toJavaObject(Variant.VARIANT value, Class<?> targetClass, ObjectFactory factory, boolean addReference, boolean freeValue)
static Variant.VARIANT
toVariant(Object value)
Convert a java value into a VARIANT suitable for passing in a COM invocation.
-
-
-
Method Detail
-
toVariant
public static Variant.VARIANT toVariant(Object value)
Convert a java value into a VARIANT suitable for passing in a COM invocation.Implementation notes
- VARIANTs are not rewrapped, but passed through unmodified
- A string is wrapped into a BSTR, that is wrapped into the VARIANT.
The string is allocated as native memory by the VARIANT constructor. The
BSTR needs to be freed by
OleAuto.SysFreeString(com.sun.jna.platform.win32.WTypes.BSTR)
.
- Parameters:
value
- to be wrapped- Returns:
- wrapped VARIANT
-
toJavaObject
public static Object toJavaObject(Variant.VARIANT value, Class<?> targetClass, ObjectFactory factory, boolean addReference, boolean freeValue)
-
free
public static void free(Variant.VARIANT variant, Class<?> javaType)
Free the contents of the supplied VARIANT.This method is a companion to
toVariant(java.lang.Object)
. Primary usage is to free BSTRs contained in VARIANTs.- Parameters:
variant
- to be clearedjavaType
- type before/after conversion
-
free
public static void free(Variant.VARIANT variant, Object value)
Free the contents of the supplied VARIANT.This method is a companion to
toVariant(java.lang.Object)
. Primary usage is to free BSTRs contained in VARIANTs.- Parameters:
variant
- to be clearedvalue
- value before/after conversion
-
-