public ConstructorModel( Constructor<?> constructor, InjectedParametersModel parameters ) { this.constructor = accessible( constructor ); this.parameters = parameters; }
public InjectedFieldModel( Field injectedField, DependencyModel dependencyModel ) { this.injectedField = AccessibleObjects.accessible( injectedField ); this.dependencyModel = dependencyModel; }
public InjectedMethodModel( Method method, InjectedParametersModel parameters ) { this.method = AccessibleObjects.accessible( method ); this.parameters = parameters; }
@SuppressWarnings( { "raw", "unchecked" } ) private Constructor<? extends Composite> createProxyConstructor( Class<?> mainType ) throws ClassNotFoundException, NoSuchMethodException { Constructor<? extends Composite> constructor; if( mainType.isInterface() ) { constructor = proxyClass.getConstructor( InvocationHandler.class ); } else { constructor = (Constructor<? extends Composite>) proxyClass.getConstructors()[ 0 ]; } return AccessibleObjects.accessible( constructor ); }
protected ModuleAssembler instantiateModuleAssembler( Class<? extends ModuleAssembler> modulerAssemblerClass, ModuleAssembly constructorArgument ) throws InstantiationException, IllegalAccessException, java.lang.reflect.InvocationTargetException, NoSuchMethodException { ModuleAssembler moduleAssembler; try { Constructor<? extends ModuleAssembler> assemblyConstructor = modulerAssemblerClass.getDeclaredConstructor( ModuleAssembly.class ); moduleAssembler = accessible( assemblyConstructor ).newInstance( constructorArgument ); } catch( NoSuchMethodException e ) { Constructor<? extends ModuleAssembler> assemblyConstructor = modulerAssemblerClass.getDeclaredConstructor(); moduleAssembler = accessible( assemblyConstructor ).newInstance(); } return moduleAssembler; }
protected ModuleAssembler instantiateModuleAssembler( Class<? extends ModuleAssembler> modulerAssemblerClass, ModuleAssembly constructorArgument ) throws InstantiationException, IllegalAccessException, java.lang.reflect.InvocationTargetException, NoSuchMethodException { ModuleAssembler moduleAssembler; try { Constructor<? extends ModuleAssembler> assemblyConstructor = modulerAssemblerClass.getDeclaredConstructor( ModuleAssembly.class ); moduleAssembler = accessible( assemblyConstructor ).newInstance( constructorArgument ); } catch( NoSuchMethodException e ) { Constructor<? extends ModuleAssembler> assemblyConstructor = modulerAssemblerClass.getDeclaredConstructor(); moduleAssembler = accessible( assemblyConstructor ).newInstance(); } return moduleAssembler; }
static void setNameIfPresent( Class<?> clazz, String classname ) throws IllegalAccessException { try { Field field = clazz.getDeclaredField( "NAME" ); if( Modifier.isStatic( field.getModifiers() ) ) { accessible( field ).set( null, classname ); } } catch( Exception e ) { // Ignore and consider normal. } }
static void setNameIfPresent( Class<?> clazz, String classname ) throws IllegalAccessException { try { Field field = clazz.getDeclaredField( "NAME" ); if( Modifier.isStatic( field.getModifiers() ) ) { accessible( field ).set( null, classname ); } } catch( Exception e ) { // Ignore and consider normal. } }
private LayerAssembler createWithConstructor( Class<? extends LayerAssembler> layerAssemblerClass, LayerAssembly assembly ) throws IllegalAccessException, InvocationTargetException, InstantiationException { try { Constructor<? extends LayerAssembler> constructor = layerAssemblerClass.getConstructor( LayerAssembly.class ); if( constructor != null ) { return accessible( constructor ).newInstance( assembly ); } } catch( NoSuchMethodException e ) { try { Constructor<? extends LayerAssembler> constructor = layerAssemblerClass.getDeclaredConstructor(); if( constructor != null ) { return accessible( constructor ).newInstance(); } } catch( NoSuchMethodException e1 ) { return null; } } return null; }
private LayerAssembler createWithConstructor( Class<? extends LayerAssembler> layerAssemblerClass, LayerAssembly assembly ) throws IllegalAccessException, InvocationTargetException, InstantiationException { try { Constructor<? extends LayerAssembler> constructor = layerAssemblerClass.getConstructor( LayerAssembly.class ); if( constructor != null ) { return accessible( constructor ).newInstance( assembly ); } } catch( NoSuchMethodException e ) { try { Constructor<? extends LayerAssembler> constructor = layerAssemblerClass.getDeclaredConstructor(); if( constructor != null ) { return accessible( constructor ).newInstance(); } } catch( NoSuchMethodException e1 ) { return null; } } return null; }
@Override public void passivateSolr() throws Exception { core.closeSearcher(); coreContainer.shutdown(); // Clear instance fields for GC purposes Field instanceField = SolrCore.class.getDeclaredField( "instance" ); accessible( instanceField ).set( null, null ); SolrConfig.config = null; }
Method factoryMethod = accessible( layerAssemblerClass.getDeclaredMethod( "create", LayerAssembly.class ) ); int modifiers = factoryMethod.getModifiers(); if( Modifier.isStatic( modifiers ) && LayerAssembler.class.isAssignableFrom( factoryMethod.getReturnType() ) ) Method factoryMethod = accessible( layerAssemblerClass.getDeclaredMethod( "create" ) ); int modifiers = factoryMethod.getModifiers(); if( Modifier.isStatic( modifiers ) && LayerAssembler.class.isAssignableFrom( factoryMethod.getReturnType() ) )
Method factoryMethod = accessible( layerAssemblerClass.getDeclaredMethod( "create", LayerAssembly.class ) ); int modifiers = factoryMethod.getModifiers(); if( Modifier.isStatic( modifiers ) && LayerAssembler.class.isAssignableFrom( factoryMethod.getReturnType() ) ) Method factoryMethod = accessible( layerAssemblerClass.getDeclaredMethod( "create" ) ); int modifiers = factoryMethod.getModifiers(); if( Modifier.isStatic( modifiers ) && LayerAssembler.class.isAssignableFrom( factoryMethod.getReturnType() ) )
private MethodCallHandler createMethodCallHandler( Method method ) { Class<?> declaringClass = method.getDeclaringClass(); try { Constructor<MethodHandles.Lookup> constructor = MethodHandles.Lookup.class.getDeclaredConstructor( Class.class, int.class ); MethodHandles.Lookup lookup = accessible( constructor ).newInstance( declaringClass, MethodHandles.Lookup.PRIVATE ); MethodHandle handle = lookup.unreflectSpecial( method, declaringClass ); return ( proxy, args ) -> handle.bindTo( proxy ).invokeWithArguments( args ); } catch( IllegalAccessException | NoSuchMethodException | InstantiationException | InvocationTargetException e ) { throw new RuntimeException( e ); } }
filter = accessible( cons ).newInstance();
AccessibleObjects.accessible( constructor ); usesObject = constructor.newInstance( context.instance() );