From e640d9d9a53e1333a98fe75a6ba42ac1a4747064 Mon Sep 17 00:00:00 2001 From: clay_shooter <> Date: Wed, 18 Apr 2007 10:26:48 +0000 Subject: [PATCH] SF 1650134 change to putVariant() api --- jacob/src/com/jacob/com/Variant.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jacob/src/com/jacob/com/Variant.java b/jacob/src/com/jacob/com/Variant.java index 856b952..7dc04fa 100644 --- a/jacob/src/com/jacob/com/Variant.java +++ b/jacob/src/com/jacob/com/Variant.java @@ -361,12 +361,18 @@ public void putStringRef(String in){ * * @throws IllegalArgumentException * if inVariant = null - * @param inVariant A variant that is to be referenced by this variant + * @param objectToBeWrapped A object that is to be referenced by this variant. + * If objectToBeWrapped is already of type Variant, then it is used. + * If objectToBeWrapped is not Variant then new Variant(objectToBeWrapped) + * is called and the result is passed into the com layer */ - public void putVariant(Variant inVariant) { - if (inVariant == null) { + public void putVariant(Object objectToBeWrapped) { + if (objectToBeWrapped == null) { throw new IllegalArgumentException("Cannot put null in as a variant"); + } else if (objectToBeWrapped instanceof Variant){ + putVariantVariant((Variant)objectToBeWrapped); } else { + Variant inVariant = new Variant(objectToBeWrapped); putVariantVariant(inVariant); } }