Class ClassUtils

java.lang.Object
org.springframework.data.repository.util.ClassUtils

public abstract class ClassUtils extends Object
Utility class to work with classes.
Author:
Oliver Gierke, Mark Paluch, Johannes Englmeier
  • Method Details

    • hasProperty

      public static boolean hasProperty(Class<?> type, String property)
      Returns whether the given class contains a property with the given name.
      Parameters:
      type -
      property -
      Returns:
    • ifPresent

      public static void ifPresent(String className, @Nullable ClassLoader classLoader, Consumer<Class<?>> action)
      Determine whether the Class identified by the supplied className is present * and can be loaded and call the action if the Class could be loaded.
      Parameters:
      className - the name of the class to check.
      classLoader - the class loader to use.
      action - the action callback to notify. (may be null which indicates the default class loader)
      Throws:
      IllegalStateException - if the corresponding class is resolvable but there was a readability mismatch in the inheritance hierarchy of the class (typically a missing dependency declaration in a Jigsaw module definition for a superclass or interface implemented by the class to be checked here)
    • isGenericRepositoryInterface

      public static boolean isGenericRepositoryInterface(Class<?> interfaze)
      Returns wthere the given type is the Repository interface.
      Parameters:
      interfaze -
      Returns:
    • isGenericRepositoryInterface

      public static boolean isGenericRepositoryInterface(@Nullable String interfaceName)
      Returns whether the given type name is a repository interface name.
      Parameters:
      interfaceName -
      Returns:
    • getNumberOfOccurences

      @Deprecated public static int getNumberOfOccurences(@NonNull Method method, @NonNull Class<?> type)
    • getNumberOfOccurrences

      public static int getNumberOfOccurrences(@NonNull Method method, @NonNull Class<?> parameterType)
      Returns the number of occurrences for the given parameter type in the given Method.
      Parameters:
      method - Method to evaluate.
      parameterType - Class of the Method parameter type to count.
      Returns:
      the number of occurrences for the given parameter type in the given Method.
      See Also:
    • assertReturnTypeAssignable

      public static void assertReturnTypeAssignable(Method method, Class<?>... types)
      Asserts the given Method's return type to be one of the given types. Will unwrap known wrapper types before the assignment check (see QueryExecutionConverters).
      Parameters:
      method - must not be null.
      types - must not be null or empty.
    • isOfType

      public static boolean isOfType(@Nullable Object object, Collection<Class<?>> types)
      Returns whether the given object is of one of the given types. Will return false for null.
      Parameters:
      object -
      types -
      Returns:
    • hasParameterOfType

      public static boolean hasParameterOfType(Method method, Class<?> type)
      Returns whether the given Method has a parameter of the given type.
      Parameters:
      method -
      type -
      Returns:
    • hasParameterAssignableToType

      public static boolean hasParameterAssignableToType(Method method, Class<?> type)
      Returns whether the given Method has a parameter that is assignable to the given type.
      Parameters:
      method -
      type -
      Returns:
    • unwrapReflectionException

      public static void unwrapReflectionException(Exception ex) throws Throwable
      Helper method to extract the original exception that can possibly occur during a reflection call.
      Parameters:
      ex -
      Throws:
      Throwable