Package io.deephaven.util.annotations
Annotation Interface UserInvocationPermitted
@Target({METHOD,TYPE,CONSTRUCTOR})
@Inherited
@Retention(RUNTIME)
@Documented
public @interface UserInvocationPermitted
This annotation is used to permit users to invoke methods from formulas (e.g., select, view or where calls).
The annotation may be specified on a method or a class. If specified on a class, then all methods of the class may be
invoked. Class annotations can be refined with the classScope() attribute, to select only static or instance
methods. If specified on a method, that method may be invoked and the class scope is ignored.
The annotated methods must belong to one or more sets. The list of permitted sets can be configured at runtime, to make it simple to enable or disable a class of methods for users. If any of the sets defined by the method is permitted, then the invocation is permitted.
-
Nested Class Summary
Nested Classes -
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionWhen applied to a class, the type of methods this annotation applies to.
-
Element Details
-
value
String[] valueAn array of sets for configuring permitted methods.- Returns:
- the sets of configured methods this belongs to.
-
-
-
classScope
UserInvocationPermitted.ScopeType classScopeWhen applied to a class, the type of methods this annotation applies to. IfUserInvocationPermitted.ScopeType.StaticAndInstance, null, or not specified, then both static and instance methods are permitted. IfUserInvocationPermitted.ScopeType.Staticis specified, then only static methods are permitted (unless the instance method is otherwise annotated or configured). IfUserInvocationPermitted.ScopeType.Instanceis specified, then only instance methods are permitted (unless the static method is otherwise annotated or configured).- Returns:
- the scope for this class annotation
- Default:
- StaticAndInstance
-