ExampleAnnotationBasedMethodInvocationAuthorizer (Apache Geode 2.0.2)
Description: declaration: package: org.apache.geode.examples.security, class: ExampleAnnotationBasedMethodInvocationAuthorizer

Package org.apache.geode.examples.security

# Class ExampleAnnotationBasedMethodInvocationAuthorizer

java.lang.Object
org.apache.geode.examples.security.ExampleAnnotationBasedMethodInvocationAuthorizer

All Implemented Interfaces:
  `MethodInvocationAuthorizer`

public class ExampleAnnotationBasedMethodInvocationAuthorizer extends Object implements MethodInvocationAuthorizer

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExampleAnnotationBasedMethodInvocationAuthorizer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `authorize(Method method, Object target)`
  Executes the authorization logic to determine whether the `method` is allowed to be executed on the `target` object instance.
  `void`
  `initialize(Cache cache, Set<String> parameters)`
  Initializes the MethodInvocationAuthorizer using a `Cache` and a `Set` of `String` parameters.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ExampleAnnotationBasedMethodInvocationAuthorizer

    public ExampleAnnotationBasedMethodInvocationAuthorizer()

- ## Method Details

  - ### initialize

    public void initialize(Cache cache, Set<String> parameters)
    Description copied from interface: `MethodInvocationAuthorizer`
    Initializes the MethodInvocationAuthorizer using a `Cache` and a `Set` of `String` parameters.

    This method exists to allow user-specified method authorizers to be configured and used at runtime. If this method is not overridden in a user-specified authorizer then that authorizer will not be configurable.

    Specified by:
      `initialize` in interface `MethodInvocationAuthorizer`
    Parameters:
      `cache` - the `Cache` to which the MethodInvocationAuthorizer will belong
      `parameters` - a `Set` of `String` that will be used to configure the

  - ### authorize

    public boolean authorize(Method method, Object target)
    Description copied from interface: `MethodInvocationAuthorizer`
    Executes the authorization logic to determine whether the `method` is allowed to be executed on the `target` object instance.

    Implementation Note: the query engine will remember whether the method invocation has been already authorized or not for the current query context, so this method will be called once in the lifetime of a query for every new method seen while traversing the objects. Nevertheless, the implementation should be lighting fast as it will be called by the OQL engine in runtime during the query execution.

    Specified by:
      `authorize` in interface `MethodInvocationAuthorizer`
    Parameters:
      `method` - the `Method` that should be authorized.
      `target` - the `Object` on which the `Method` will be executed.
    Returns:
      `true` if the method is annotated with `ExampleAnnotationBasedMethodInvocationAuthorizer.Authorized` and not permanently forbidden, `false` otherwise