Package org.opensearch.painless.spi
Class WhitelistClass
java.lang.Object
org.opensearch.painless.spi.WhitelistClass
public final class WhitelistClass
extends java.lang.Object
Class represents the equivalent of a Java class in Painless complete with super classes,
constructors, methods, and fields. There must be a one-to-one mapping of class names to Java
classes. Though, since multiple whitelists may be combined into a single whitelist for a
specific context, as long as multiple classes representing the same Java class have the same
class name and have legal constructor/method overloading they can be merged together.
Classes in Painless allow for arity overloading for constructors and methods. Arity overloading
means that multiple constructors are allowed for a single class as long as they have a different
number of parameters, and multiples methods with the same name are allowed for a single class
as long as they have the same return type and a different number of parameters.
Classes will automatically extend other whitelisted classes if the Java class they represent is a
subclass of other classes including Java interfaces.
-
Field Summary
Fields Modifier and Type Field Description java.lang.StringjavaClassNameThe Java class name this class represents.java.lang.StringoriginInformation about where this class was white-listed from.java.util.Map<java.lang.Class<?>,java.lang.Object>painlessAnnotationsTheMapof annotations for this class.java.util.List<WhitelistConstructor>whitelistConstructorsTheListof whitelisted (WhitelistConstructors) available to this class.java.util.List<WhitelistField>whitelistFieldsTheListof whitelisted (WhitelistFields) available to this class.java.util.List<WhitelistMethod>whitelistMethodsTheListof whitelisted (WhitelistMethods) available to this class. -
Constructor Summary
Constructors Constructor Description WhitelistClass(java.lang.String origin, java.lang.String javaClassName, java.util.List<WhitelistConstructor> whitelistConstructors, java.util.List<WhitelistMethod> whitelistMethods, java.util.List<WhitelistField> whitelistFields, java.util.List<java.lang.Object> painlessAnnotations)Standard constructor. -
Method Summary
-
Field Details
-
origin
public final java.lang.String originInformation about where this class was white-listed from. -
javaClassName
public final java.lang.String javaClassNameThe Java class name this class represents. -
whitelistConstructors
TheListof whitelisted (WhitelistConstructors) available to this class. -
whitelistMethods
TheListof whitelisted (WhitelistMethods) available to this class. -
whitelistFields
TheListof whitelisted (WhitelistFields) available to this class. -
painlessAnnotations
public final java.util.Map<java.lang.Class<?>,java.lang.Object> painlessAnnotationsTheMapof annotations for this class.
-
-
Constructor Details
-
WhitelistClass
public WhitelistClass(java.lang.String origin, java.lang.String javaClassName, java.util.List<WhitelistConstructor> whitelistConstructors, java.util.List<WhitelistMethod> whitelistMethods, java.util.List<WhitelistField> whitelistFields, java.util.List<java.lang.Object> painlessAnnotations)Standard constructor. All values must be notnull.
-