Documentation of 'umontreal.iro.lecuyer.util.Introspection' Java class
Introspection
umontreal.iro.lecuyer.util

Class Introspection



  • public class Introspection
    extends java.lang.Object
    Provides utility methods for introspection using Java Reflection API.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static java.lang.reflect.Field getField(java.lang.Class<?> c, java.lang.String name)
      This is like getField, except that it can return non-public fields.
      static java.lang.String getFieldName(java.lang.Object val)
      Returns the field name corresponding to the value of an enumerated type val.
      static java.lang.reflect.Field[] getFields(java.lang.Class<?> c)
      Returns all the fields declared and inherited by a class.
      static java.lang.reflect.Method getMethod(java.lang.Class<?> c, java.lang.String name, java.lang.Class[] pt)
      This is like getMethod, except that it can return non-public methods.
      static java.lang.reflect.Method[] getMethods(java.lang.Class<?> c)
      Returns all the methods declared and inherited by a class.
      static boolean sameSignature(java.lang.reflect.Method m1, java.lang.reflect.Method m2)
      Determines if two methods m1 and m2 share the same signature.
      static <T> T valueOf(java.lang.Class<T> cls, java.lang.String name)
      Returns the field of class cls corresponding to the name name.
      static <T> T valueOfIgnoreCase(java.lang.Class<T> cls, java.lang.String name)
      Similar to valueOf (cls, name), with case insensitive field name look-up.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getMethods

        public static java.lang.reflect.Method[] getMethods(java.lang.Class<?> c)
        Returns all the methods declared and inherited by a class. This is similar to getMethods except that it enumerates non-public methods as well as public ones. This method uses getDeclaredMethods to get the declared methods of c. It also gets the declared methods of superclasses. If a method is defined in a superclass and overriden in a subclass, only the overriden method will be in the returned array.

        Note that since this method uses getDeclaredMethods, it can throw a SecurityException if a security manager is present.

        Parameters:
        c - the class being processed.
        Returns:
        the array of methods.
      • sameSignature

        public static boolean sameSignature(java.lang.reflect.Method m1,
                                            java.lang.reflect.Method m2)
        Determines if two methods m1 and m2 share the same signature. For the signature to be identical, methods must have the same number of parameters and the same parameter types.
        Parameters:
        m1 - the first method.
        m2 - the second method.
        Returns:
        true if the signatures are the same, false otherwise.
      • getFields

        public static java.lang.reflect.Field[] getFields(java.lang.Class<?> c)
        Returns all the fields declared and inherited by a class. This is similar to getFields except that it enumerates non-public fields as well as public ones. This method uses getDeclaredFields to get the declared fields of c. It also gets the declared fields of superclasses and implemented interfaces.

        Note that since this method uses getDeclaredFields, it can throw a SecurityException if a security manager is present.

        Parameters:
        c - the class being processed.
        Returns:
        the array of fields.
      • getMethod

        public static java.lang.reflect.Method getMethod(java.lang.Class<?> c,
                                                         java.lang.String name,
                                                         java.lang.Class[] pt)
                                                  throws java.lang.NoSuchMethodException
        This is like getMethod, except that it can return non-public methods.
        Parameters:
        c - the class being processed.
        name - the name of the method.
        pt - the parameter types.
        Throws:
        java.lang.NoSuchMethodException - if the method cannot be found.
      • getField

        public static java.lang.reflect.Field getField(java.lang.Class<?> c,
                                                       java.lang.String name)
                                                throws java.lang.NoSuchFieldException
        This is like getField, except that it can return non-public fields.

        Note that since this method uses getDeclaredField, it can throw a SecurityException if a security manager is present.

        Parameters:
        c - the class being processed.
        name - the name of the method.
        Throws:
        java.lang.NoSuchFieldException - if the field cannot be found.
      • getFieldName

        public static java.lang.String getFieldName(java.lang.Object val)
        Returns the field name corresponding to the value of an enumerated type val. This method gets the class of val and scans its fields to find a public static and final field containing val. If such a field is found, its name is returned. Otherwise, null is returned.
        Parameters:
        val - the value of the enumerated type.
        Returns:
        the field name or null.
      • valueOf

        public static <T> T valueOf(java.lang.Class<T> cls,
                                    java.lang.String name)
        Returns the field of class cls corresponding to the name name. This method looks for a public, static, and final field with name name and returns its value. If no appropriate field can be found, an IllegalArgumentException is thrown.
        Parameters:
        cls - the class to look for a field in.
        name - the name of field.
        Returns:
        the object in the field.
        Throws:
        java.lang.IllegalArgumentException - if name does not correspond to a valid field name.
      • valueOfIgnoreCase

        public static <T> T valueOfIgnoreCase(java.lang.Class<T> cls,
                                              java.lang.String name)
        Similar to valueOf (cls, name), with case insensitive field name look-up. If cls defines several fields with the same case insensitive name name, an IllegalArgumentException is thrown.
        Parameters:
        cls - the class to look for a field in.
        name - the name of field.
        Returns:
        the object in the field.
        Throws:
        java.lang.IllegalArgumentException - if name does not correspond to a valid field name, or if the class defines several fields with the same name.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.