Package org.apache.commons.jexl3.internal.introspection
Provides low-level introspective services.
This internal package is not intended for public usage and there is no guarantee that its public classes or methods will remain as is in subsequent versions.
The IntrospectorBase, ClassMap, MethodKey, MethodMap form the base of the introspection service. They allow describing classes and their methods, keeping them in a cache (@see IntrospectorBase) to speed up property getters/setters and method discovery used during expression evaluation.
The cache materialized in Introspector creates one entry per class containing a map of all accessible public methods keyed by name and signature.
-
Class Summary Class Description AbstractExecutor Abstract class that is used to execute an arbitrary method that is introspected.AbstractExecutor.Get Abstract class that is used to execute an arbitrary 'get' method.AbstractExecutor.Method Abstract class that is used to execute an arbitrary method.AbstractExecutor.Set Abstract class that is used to execute an arbitrary 'set' method.ArrayIterator An Iterator wrapper for an Object[].ArrayListWrapper A class that wraps an array within an AbstractList.BooleanGetExecutor Specialized executor to get a boolean property from an object.ClassMap A cache of introspection information for a specific class instance.ClassMisc Miscellaneous introspection methods.ClassTool Utility for Java9+ backport in Java8 of class and module related methods.ConstructorMethod A JexlMethod that wraps a constructor.DuckGetExecutor Specialized executor to get a property from an object.DuckSetExecutor Specialized executor to set a property of an object.EnumerationIterator<T> An Iterator wrapper for an Enumeration.FieldGetExecutor A JexlPropertyGet for public fields.FieldSetExecutor A JexlPropertySet for public fields.IndexedType Abstract an indexed property container.IndexedType.IndexedContainer A generic indexed property container, exposes get(key) and set(key, value) and solves method call dynamically based on arguments.Introspector This basic function of this class is to return a Method object for a particular class given the name of a method and the parameters to the method in the form of an Object[].Introspector.CacheMiss A Constructor get cache-miss.ListGetExecutor Specialized executor to get a property from a List or array.ListSetExecutor Specialized executor to set a property in a List or array.MapGetExecutor Specialized executor to get a property from a Map.MapSetExecutor Specialized executor to set a property in a Map.MethodExecutor Specialized executor to invoke a method on an object.MethodKey A method key usable by the introspector cache.Permissions Checks whether an element (ctor, field or method) is visible by JEXL introspection.Permissions.JexlClass A positive NoJexl construct that defines what is denied by absence in the set.Permissions.NoJexlClass Equivalent of @NoJexl on a ctor, a method or a field in a class.Permissions.NoJexlPackage Equivalent of @NoJexl on a class in a package.PermissionsParser A crude parser to configure permissions akin to NoJexl annotations.PropertyGetExecutor Specialized executor to get a property from an object.PropertySetExecutor Specialized executor to set a property in an object.SandboxUberspect An uberspect that controls usage of properties, methods and constructors through a sandbox.Uberspect Implements Uberspect to provide the default introspective functionality of JEXL. -
Exception Summary Exception Description MethodKey.AmbiguousException Simple distinguishable exception, used when we run across ambiguous overloading.