Class DeclaredMembers

java.lang.Object
com.google.inject.internal.DeclaredMembers

public final class DeclaredMembers extends Object
Utility class for retrieving declared fields or methods in a particular order, because the JVM doesn't guarantee ordering for listing declared methods. We don't externally guarantee an ordering, but having a consistent ordering allows deterministic behavior and simpler tests.
  • Field Details

    • CLASS_ORDERING

      private static final com.google.common.collect.Ordering<Class<?>> CLASS_ORDERING
      An ordering suitable for comparing two classes if they are loaded by the same classloader

      Within a single classloader there can only be one class with a given name, so we just compare the names.

    • FIELD_ORDERING

      private static final com.google.common.collect.Ordering<Field> FIELD_ORDERING
      An ordering suitable for comparing two fields if they are owned by the same class.

      Within a single class it is sufficent to compare the non-generic field signature which consists of the field name and type.

    • METHOD_ORDERING

      private static final com.google.common.collect.Ordering<Method> METHOD_ORDERING
      An ordering suitable for comparing two methods if they are owned by the same class.

      Within a single class it is sufficient to compare the non-generic method signature which consists of the name, return type and parameter types.

  • Constructor Details

    • DeclaredMembers

      private DeclaredMembers()
  • Method Details

    • getDeclaredFields

      public static Field[] getDeclaredFields(Class<?> type)
    • getDeclaredMethods

      public static Method[] getDeclaredMethods(Class<?> type)