@HashCodeAndEqualsPlugin.Enhance public class AccessControllerPlugin extends Plugin.ForElementMatcher implements Plugin.Factory
java.security.AccessController with equal signature.
 This can be useful to avoid using types from the java.security package which were deprecated for removal in Java 17.
 Annotated methods are dispatched to the JVM's access controller only if this type is available on the current VM, and if no system
 property is added and set to disable such dispatch. In the process, java.security.AccessControlContext is represented by
 Object.| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | AccessControllerPlugin.AccessControlWrapperAn wrapper for a method that represents a method of  AccessControllerwhich is weaved. | 
| static interface  | AccessControllerPlugin.EnhanceIndicates that the annotated method represents a pseudo implementation of  java.security.AccessControllerwhich can be weaved to dispatch to the access controller if this is possible on the current VM and not explicitly
 disabled on the current VM via a system property. | 
| protected static class  | AccessControllerPlugin.InitializerA byte code appender to create an initializer segment that determines if
 the  java.security.AccessControlleris available. | 
Plugin.Factory.Simple, Plugin.Factory.UsingReflectionPlugin.Engine, Plugin.Factory, Plugin.ForElementMatcher, Plugin.NoOp, Plugin.WithPreprocessorElementMatcher.Junction<S>| Constructor and Description | 
|---|
| AccessControllerPlugin()Creates a new plugin to weave access controller dispatches without
 a property to allow for disabling the access controller handling. | 
| AccessControllerPlugin(String property)Creates a new plugin to weave access controller dispatches. | 
| Modifier and Type | Method and Description | 
|---|---|
| DynamicType.Builder<?> | apply(DynamicType.Builder<?> builder,
     TypeDescription typeDescription,
     ClassFileLocator classFileLocator)Applies this plugin. | 
| void | close() | 
| Plugin | make()Returns a plugin that can be used for a transformation and which is subsequently closed. | 
matchespublic AccessControllerPlugin()
@Plugin.Factory.UsingReflection.Priority(value=2147483647) public AccessControllerPlugin(@Nonnull(when=MAYBE) String property)
property - The property to control if the access controller should be used even
                 if available or null if such a property should not be available.public Plugin make()
make in interface Plugin.Factorypublic DynamicType.Builder<?> apply(DynamicType.Builder<?> builder, TypeDescription typeDescription, ClassFileLocator classFileLocator)
apply in interface Pluginbuilder - The builder to use as a basis for the applied transformation.typeDescription - The type being transformed.classFileLocator - A class file locator that can locate other types in the scope of the project.public void close()
close in interface Closeableclose in interface AutoCloseableCopyright © 2014–2021. All rights reserved.