Class ClassBuilding


  • public final class ClassBuilding
    extends java.lang.Object
    Entry-point for building enhanced classes and 'fast-class' invocation.
    Author:
    mcculls@gmail.com (Stuart McCulloch)
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static BytecodeGen.EnhancerBuilder buildEnhancerBuilder​(java.lang.Class<?> hostClass)
      Builder of enhancers that provide method interception via bytecode generation.
      static java.util.function.Function<java.lang.String,​java.util.function.BiFunction<java.lang.Object,​java.lang.Object[],​java.lang.Object>> buildFastClass​(java.lang.Class<?> hostClass)
      Builds a 'fast-class' invoker that uses bytecode generation in place of reflection.
      static boolean canEnhance​(java.lang.reflect.Executable member)
      Returns true if the given member can be enhanced using bytecode.
      static boolean canFastInvoke​(java.lang.reflect.Executable member)
      Returns true if the given member can be fast-invoked.
      static java.lang.String signature​(java.lang.reflect.Constructor<?> constructor)
      Minimum signature needed to disambiguate constructors from the same host class.
      static java.lang.String signature​(java.lang.reflect.Method method)
      Minimum signature needed to disambiguate methods from the same host class.
      • Methods inherited from class java.lang.Object

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

      • signature

        public static java.lang.String signature​(java.lang.reflect.Constructor<?> constructor)
        Minimum signature needed to disambiguate constructors from the same host class.
      • signature

        public static java.lang.String signature​(java.lang.reflect.Method method)
        Minimum signature needed to disambiguate methods from the same host class.
      • canEnhance

        public static boolean canEnhance​(java.lang.reflect.Executable member)
        Returns true if the given member can be enhanced using bytecode.
      • buildEnhancerBuilder

        public static BytecodeGen.EnhancerBuilder buildEnhancerBuilder​(java.lang.Class<?> hostClass)
        Builder of enhancers that provide method interception via bytecode generation.
      • canFastInvoke

        public static boolean canFastInvoke​(java.lang.reflect.Executable member)
        Returns true if the given member can be fast-invoked.
      • buildFastClass

        public static java.util.function.Function<java.lang.String,​java.util.function.BiFunction<java.lang.Object,​java.lang.Object[],​java.lang.Object>> buildFastClass​(java.lang.Class<?> hostClass)
        Builds a 'fast-class' invoker that uses bytecode generation in place of reflection.