Class PatternInstance<P extends PatternDefinition>

  • Type Parameters:
    P - Type of PatternDefinition this instance is an instance of

    public abstract class PatternInstance<P extends PatternDefinition>
    extends java.lang.Object
    Abstract base class for an instance of a PatternDefinition
    It has the responsibility of:
    • Maintaining state variables of the pattern instance
    • Enforcing invariants of the Authenticator annotated class.
    • Enforcing preconditions of the Authenticator annotated class.
    • Enforcing postconditions of the Authenticator annotated class.
    • Constructor Detail

      • PatternInstance

        public PatternInstance​(P patternDefinition)
    • Method Detail

      • getPatternDefinition

        public P getPatternDefinition()
      • registerStakeHolder

        protected void registerStakeHolder​(java.lang.Object stakeHolder,
                                           java.lang.String role)
      • processMethodBeforeInvoke

        public abstract ReturnWrapper processMethodBeforeInvoke​(java.lang.Object instance,
                                                                java.lang.reflect.Method method,
                                                                java.lang.Object[] args)
                                                         throws java.lang.reflect.InvocationTargetException,
                                                                java.lang.IllegalAccessException,
                                                                java.lang.NoSuchMethodException
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.IllegalAccessException
        java.lang.NoSuchMethodException
      • processMethodAfterInvoke

        public abstract void processMethodAfterInvoke​(java.lang.Object instance,
                                                      java.lang.reflect.Method method,
                                                      java.lang.Object returnValue,
                                                      java.lang.Object[] args)
                                               throws java.lang.reflect.InvocationTargetException,
                                                      java.lang.IllegalAccessException,
                                                      java.lang.NoSuchMethodException
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.IllegalAccessException
        java.lang.NoSuchMethodException