test_class.declarator: NEGATIVE_AUTHENTICATOR = new Authenticator() {
          public Result authenticate(HttpExchange httpExchange) {
              return new Failure(401);
          }
      }
test_class.modifier: private final
test_class.original_string: private final Authenticator NEGATIVE_AUTHENTICATOR = new Authenticator() {
          public Result authenticate(HttpExchange httpExchange) {
              return new Failure(401);
          }
      };
test_class.type: Authenticator
test_class.var_name: NEGATIVE_AUTHENTICATOR
test_class.declarator: POSITIVE_AUTHENTICATOR = new Authenticator() {
          public Result authenticate(HttpExchange httpExchange) {
              return new Success(new HttpPrincipal("",""));
          }
      }
test_class.modifier: private final
test_class.original_string: private final Authenticator POSITIVE_AUTHENTICATOR = new Authenticator() {
          public Result authenticate(HttpExchange httpExchange) {
              return new Success(new HttpPrincipal("",""));
          }
      };
test_class.type: Authenticator
test_class.var_name: POSITIVE_AUTHENTICATOR
test_class.file: agent/jvm/src/test/java/org/jolokia/jvmagent/security/MultiAuthenticatorTest.java
test_class.identifier: MultiAuthenticatorTest
test_case.body: @Test
      public void anyNegative() throws Exception {
          MultiAuthenticator authenticator =
              new MultiAuthenticator(MultiAuthenticator.Mode.ANY,
                                     Arrays.asList(NEGATIVE_AUTHENTICATOR,
                                                   NEGATIVE_AUTHENTICATOR,
                                                   NEGATIVE_AUTHENTICATOR));
          assertTrue(authenticator.authenticate(null) instanceof Authenticator.Failure);
      }
test_case.class_method_signature: MultiAuthenticatorTest.anyNegative()
test_case.full_signature: @Test public void anyNegative()
test_case.identifier: anyNegative
test_case.invocations: asList assertTrue authenticate
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void anyNegative()
focal_class.declarator: authenticators
focal_class.modifier: final private
focal_class.original_string: final private ArrayList<Authenticator> authenticators;
focal_class.type: ArrayList<Authenticator>
focal_class.var_name: authenticators
focal_class.declarator: mode
focal_class.modifier: final private
focal_class.original_string: final private Mode mode;
focal_class.type: Mode
focal_class.var_name: mode
focal_class.file: agent/jvm/src/main/java/org/jolokia/jvmagent/security/MultiAuthenticator.java
focal_class.identifier: MultiAuthenticator
focal_class.class_method_signature: MultiAuthenticator.MultiAuthenticator(Mode mode, List<Authenticator> authenticators)
focal_class.full_signature: public  MultiAuthenticator(Mode mode, List<Authenticator> authenticators)
focal_class.identifier: MultiAuthenticator
focal_class.modifiers: public
focal_class.parameters: (Mode mode, List<Authenticator> authenticators)
focal_class.signature:  MultiAuthenticator(Mode mode, List<Authenticator> authenticators)
focal_class.class_method_signature: MultiAuthenticator.authenticate(HttpExchange httpExchange)
focal_class.full_signature: @Override public Result authenticate(HttpExchange httpExchange)
focal_class.identifier: authenticate
focal_class.modifiers: @Override public
focal_class.parameters: (HttpExchange httpExchange)
focal_class.return: Result
focal_class.signature: Result authenticate(HttpExchange httpExchange)
focal_class.superclass: extends Authenticator
focal_method.body: @Override
      public Result authenticate(HttpExchange httpExchange) {
          Result result = null;
          for (Authenticator a : authenticators) {
              result = a.authenticate(httpExchange);
              if ((result instanceof Success && mode == Mode.ANY) ||
                  (!(result instanceof Success) && mode == Mode.ALL)) {
                  return result;
              }
          }
          // Return last result, which is either SUCCESS for mode.ALL or FAILURE for mode.ANY
          return result;
      }
focal_method.class_method_signature: MultiAuthenticator.authenticate(HttpExchange httpExchange)
focal_method.full_signature: @Override public Result authenticate(HttpExchange httpExchange)
focal_method.identifier: authenticate
focal_method.invocations: authenticate
focal_method.modifiers: @Override public
focal_method.parameters: (HttpExchange httpExchange)
focal_method.return: Result
focal_method.signature: Result authenticate(HttpExchange httpExchange)