Package org.springframework.shell.core.annotation

Examples of org.springframework.shell.core.annotation.CliAvailabilityIndicator


  public final void add(final CommandMarker command) {
    synchronized (mutex) {
      commands.add(command);
      for (final Method method : command.getClass().getMethods()) {
        CliAvailabilityIndicator availability = method.getAnnotation(CliAvailabilityIndicator.class);
        if (availability != null) {
          Assert.isTrue(
              method.getParameterTypes().length == 0,
              "CliAvailabilityIndicator is only legal for 0 parameter methods ("
                  + method.toGenericString() + ")");
          Assert.isTrue(
              method.getReturnType().equals(Boolean.TYPE),
              "CliAvailabilityIndicator is only legal for primitive boolean return types ("
                  + method.toGenericString() + ")");
          for (String cmd : availability.value()) {
            Assert.isTrue(!availabilityIndicators.containsKey(cmd),
                "Cannot specify an availability indicator for '" + cmd + "' more than once");
            availabilityIndicators.put(cmd, new MethodTarget(method, command));
          }
        }
View Full Code Here


  public final void remove(final CommandMarker command) {
    synchronized (mutex) {
      commands.remove(command);
      for (Method m : command.getClass().getMethods()) {
        CliAvailabilityIndicator availability = m.getAnnotation(CliAvailabilityIndicator.class);
        if (availability != null) {
          for (String cmd : availability.value()) {
            availabilityIndicators.remove(cmd);
          }
        }
      }
    }
View Full Code Here

TOP

Related Classes of org.springframework.shell.core.annotation.CliAvailabilityIndicator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.