Class AnyConverter


  • public class AnyConverter
    extends Object
    This class provides static methods which aim at exploring the contents of an Any and extracting its value.

    All public methods take an Object argument that either is the immediate object, such as Boolean, Type, interface implementation, or an Any that contains an object.

    The methods which extract the value do a widening conversion. See the method comments for the respective conversions.

    • Constructor Summary

      Constructors 
      Constructor Description
      AnyConverter()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Type getType​(Object object)
      Determines the type of an Any object.
      static boolean isArray​(Object object)
      Checks if the any contains UNO idl sequence value (meaning a java array containing elements which are values of UNO idl types).
      static boolean isBoolean​(Object object)
      Checks if the any contains a value of the idl type boolean.
      static boolean isByte​(Object object)
      Checks if the any contains a value of the idl type byte.
      static boolean isChar​(Object object)
      Checks if the any contains a value of the idl type char.
      static boolean isDouble​(Object object)
      Checks if the any contains a value of the idl type double.
      static boolean isEnum​(Object object)
      Checks if the any contains a value of the idl type enum.
      static boolean isFloat​(Object object)
      Checks if the any contains a value of the idl type float.
      static boolean isInt​(Object object)
      Checks if the any contains a value of the idl type long (which maps to a java-int).
      static boolean isLong​(Object object)
      Checks if the any contains a value of the idl type hyper (which maps to a java-long).
      static boolean isObject​(Object object)
      Checks if the any contains an interface, struct, exception, sequence or enum.
      static boolean isShort​(Object object)
      Checks if the any contains a value of the idl type short.
      static boolean isString​(Object object)
      Checks if the any contains a value of the idl type string.
      static boolean isType​(Object object)
      Checks if the any contains a value of the idl type type.
      static boolean isVoid​(Object object)
      Checks if the any contains the idl type void.
      static Object toArray​(Object object)
      Converts an array or an any containing an array into an array.
      static boolean toBoolean​(Object object)
      Converts a Boolean object or an Any object containing a Boolean object into a simple boolean.
      static byte toByte​(Object object)
      Converts a Byte object or an Any object containing a Byte object into a simple byte.
      static char toChar​(Object object)
      Converts a Char object or an Any object containing a Char object into a simple char.
      static double toDouble​(Object object)
      Converts a number object into a simple double and allows widening conversions.
      static float toFloat​(Object object)
      Converts a number object into a simple float and allows widening conversions.
      static int toInt​(Object object)
      Converts a number object into a simple int and allows widening conversions.
      static long toLong​(Object object)
      Converts a number object into a simple long and allows widening conversions.
      static Object toObject​(Type type, Object object)
      Converts a UNO object (struct, exception, sequence, enum or interface) or an Any containing these types into a UNO object of a specified destination type.
      static Object toObject​(Class<?> clazz, Object object)
      Converts a UNO object (struct, exception, sequence, enum or interface) or an Any containing these types into a UNO object of a specified destination type.
      static short toShort​(Object object)
      Converts a number object into a simple short and allows widening conversions.
      static String toString​(Object object)
      Converts a string or an any containing a string into a string.
      static Type toType​(Object object)
      Converts a Type or an any containing a Type into a Type.
      static int toUnsignedInt​(Object object)
      Converts a number object into an idl unsigned long and allows widening conversions.
      static long toUnsignedLong​(Object object)
      Converts a number object into an idl unsigned hyper and allows widening conversions.
      static short toUnsignedShort​(Object object)
      Converts a number object into an idl unsigned short and allows widening conversions.
    • Constructor Detail

      • AnyConverter

        public AnyConverter()
    • Method Detail

      • getType

        public static Type getType​(Object object)
        Determines the type of an Any object.
        Parameters:
        object - any object.
        Returns:
        type object.
      • isVoid

        public static boolean isVoid​(Object object)
        Checks if the any contains the idl type void.
        Parameters:
        object - the object to check.
        Returns:
        true when the any is void, false otherwise.
      • isChar

        public static boolean isChar​(Object object)
        Checks if the any contains a value of the idl type char.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a char, false otherwise.
      • isBoolean

        public static boolean isBoolean​(Object object)
        Checks if the any contains a value of the idl type boolean.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a boolean, false otherwise.
      • isByte

        public static boolean isByte​(Object object)
        Checks if the any contains a value of the idl type byte.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a byte, false otherwise.
      • isShort

        public static boolean isShort​(Object object)
        Checks if the any contains a value of the idl type short.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a short, false otherwise.
      • isInt

        public static boolean isInt​(Object object)
        Checks if the any contains a value of the idl type long (which maps to a java-int).
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a int, false otherwise.
      • isLong

        public static boolean isLong​(Object object)
        Checks if the any contains a value of the idl type hyper (which maps to a java-long).
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a long, false otherwise.
      • isFloat

        public static boolean isFloat​(Object object)
        Checks if the any contains a value of the idl type float.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a float, false otherwise.
      • isDouble

        public static boolean isDouble​(Object object)
        Checks if the any contains a value of the idl type double.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a double, false otherwise.
      • isString

        public static boolean isString​(Object object)
        Checks if the any contains a value of the idl type string.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a string, false otherwise.
      • isEnum

        public static boolean isEnum​(Object object)
        Checks if the any contains a value of the idl type enum.
        Parameters:
        object - the object to check.
        Returns:
        true if the any contains an enum, false otherwise.
      • isType

        public static boolean isType​(Object object)
        Checks if the any contains a value of the idl type type.
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains a type, false otherwise.
      • isObject

        public static boolean isObject​(Object object)
        Checks if the any contains an interface, struct, exception, sequence or enum.

        If object is an any with an interface type, then true is also returned if the any contains a null reference. This is because interfaces are allowed to have a null value contrary to other UNO types.

        Parameters:
        object - the object to check.
        Returns:
        true if the any contains an object.
      • isArray

        public static boolean isArray​(Object object)
        Checks if the any contains UNO idl sequence value (meaning a java array containing elements which are values of UNO idl types).
        Parameters:
        object - the object to check.
        Returns:
        true when the any contains an object which implements interfaces, false otherwise.
      • toShort

        public static short toShort​(Object object)
                             throws IllegalArgumentException
        Converts a number object into a simple short and allows widening conversions.

        Allowed argument types are Byte, Short or Any containing these types.

        Parameters:
        object - the object to convert.
        Returns:
        the short contained within the object.
        Throws:
        IllegalArgumentException - in case no short or byte is contained within object.
      • toUnsignedShort

        public static short toUnsignedShort​(Object object)
                                     throws IllegalArgumentException
        Converts a number object into an idl unsigned short and allows widening conversions.

        Allowed argument types are Anies containing idl unsigned short values.

        Parameters:
        object - the object to convert.
        Returns:
        an (unsigned) short.
        Throws:
        IllegalArgumentException - in case no idl unsigned short is contained within Any.
      • toInt

        public static int toInt​(Object object)
                         throws IllegalArgumentException
        Converts a number object into a simple int and allows widening conversions.

        Allowed argument types are Byte, Short, Integer or Any containing these types.

        Parameters:
        object - the object to convert.
        Returns:
        the int contained within the object.
        Throws:
        IllegalArgumentException - in case no short, byte or int is contained within object.
      • toUnsignedInt

        public static int toUnsignedInt​(Object object)
                                 throws IllegalArgumentException
        Converts a number object into an idl unsigned long and allows widening conversions.

        Allowed argument types are Anies containing idl unsigned short or unsigned long values.

        Parameters:
        object - the object to convert.
        Returns:
        an (unsigned) int.
        Throws:
        IllegalArgumentException - in case no idl unsigned short nor unsigned long is contained within Any.
      • toLong

        public static long toLong​(Object object)
                           throws IllegalArgumentException
        Converts a number object into a simple long and allows widening conversions.

        Allowed argument types are Byte, Short, Integer, Long or Any containing these types.

        Parameters:
        object - the object to convert.
        Returns:
        the long contained within the object.
        Throws:
        IllegalArgumentException - in case no short, byte, int or long is contained within object.
      • toUnsignedLong

        public static long toUnsignedLong​(Object object)
                                   throws IllegalArgumentException
        Converts a number object into an idl unsigned hyper and allows widening conversions.

        Allowed argument types are Anies containing idl unsigned short, unsigned long or unsigned hyper values.

        Parameters:
        object - the object to convert.
        Returns:
        an (unsigned) long.
        Throws:
        IllegalArgumentException - in case no idl unsigned short, nor unsigned long nor unsigned hyper is contained within object.
      • toFloat

        public static float toFloat​(Object object)
                             throws IllegalArgumentException
        Converts a number object into a simple float and allows widening conversions.

        Allowed argument types are Byte, Short, Float or Any containing these types.

        Parameters:
        object - the object to convert.
        Returns:
        the float contained within the object.
        Throws:
        IllegalArgumentException - in case no byte, short or float is contained within object.
      • toDouble

        public static double toDouble​(Object object)
                               throws IllegalArgumentException
        Converts a number object into a simple double and allows widening conversions.

        Allowed argument types are Byte, Short, Int, Float, Double or Any containing these types.

        Parameters:
        object - the object to convert.
        Returns:
        the double contained within the object.
        Throws:
        IllegalArgumentException - in case no byte, short, int, float or double is contained within object.
      • toString

        public static String toString​(Object object)
                               throws IllegalArgumentException
        Converts a string or an any containing a string into a string.
        Parameters:
        object - the object to convert.
        Returns:
        the string contained within the object.
        Throws:
        IllegalArgumentException - in case no string is contained within object.
      • toType

        public static Type toType​(Object object)
                           throws IllegalArgumentException
        Converts a Type or an any containing a Type into a Type.
        Parameters:
        object - the object to convert.
        Returns:
        the type contained within the object.
        Throws:
        IllegalArgumentException - in case no type is contained within object.
      • toObject

        public static Object toObject​(Type type,
                                      Object object)
                               throws IllegalArgumentException
        Converts a UNO object (struct, exception, sequence, enum or interface) or an Any containing these types into a UNO object of a specified destination type.

        For interfaces, the argument object is queried for the interface specified by the type argument.

        That query (UnoRuntime.queryInterface) might return null, if the interface is not implemented or a null-ref or a VOID any is given.

        Parameters:
        type - type of the returned value.
        object - the object that is to be converted.
        Returns:
        destination object.
        Throws:
        IllegalArgumentException - in case conversion is not possible.
      • toObject

        public static Object toObject​(Class<?> clazz,
                                      Object object)
                               throws IllegalArgumentException
        Converts a UNO object (struct, exception, sequence, enum or interface) or an Any containing these types into a UNO object of a specified destination type.

        For interfaces, the argument object is queried for the interface specified by the type argument. That query (UnoRuntime.queryInterface) might return null, if the interface is not implemented or a null-ref or a VOID any is given.

        Parameters:
        clazz - class of the returned value.
        object - the object that is to be converted.
        Returns:
        destination object.
        Throws:
        IllegalArgumentException - in case conversion is not possible.
      • toArray

        public static Object toArray​(Object object)
                              throws IllegalArgumentException
        Converts an array or an any containing an array into an array.
        Parameters:
        object - the object to convert.
        Returns:
        the array contained within the object.
        Throws:
        IllegalArgumentException - in case no array is contained within object.