jill/src/main/java/io/github/agentsoz/jill/core/ProgramLoader.java
private static String[] getPlansFromGoalsInfoAnnotation(Class<?> gclass) {
    // Find the plans that this goal has
    Annotation annotation = gclass.getAnnotation(GoalInfo.class);
    if (annotation == null) {
      logger.error("Goal " + gclass.getName() + " is missing the "
          + "@GoalInfo(hasPlans={\"package.PlanClass1, package.PlanClass2, ...\"}) " + knowsNothing
          + "about which plans can handle this goal.");
      return new String[0];
    }
    GoalInfo ginfo = (GoalInfo) annotation;
    String[] plans = ginfo.hasPlans();
    if (plans.length == 0) {
      logger.error("Goal " + gclass.getName()
          + " does not have any plans defined. Was expecting something like "
          + "@GoalInfo(hasPlans={\"package.PlanClass1, package.PlanClass2, ...\"}) " + knowsNothing
          + "about which plans can handle this goal.");
    }
    return plans;
  }
private static String[] getPlansFromGoalsInfoAnnotation(Class<?> gclass) {
    // Find the plans that this goal has
    Annotation annotation = gclass.getAnnotation(GoalInfo.class);
    if (annotation == null) {
      logger.error("Goal " + gclass.getName() + " is missing the "
          + "@GoalInfo(hasPlans={\"package.PlanClass1, package.PlanClass2, ...\"}) " + knowsNothing
          + "about which plans can handle this goal.");
      return new String[0];
    }
    GoalInfo ginfo = (GoalInfo) annotation;
    String[] plans = ginfo.hasPlans();
    if (plans.length == 0) {
      logger.error("Goal " + gclass.getName()
          + " does not have any plans defined. Was expecting something like "
          + "@GoalInfo(hasPlans={\"package.PlanClass1, package.PlanClass2, ...\"}) " + knowsNothing
          + "about which plans can handle this goal.");
    }
    return plans;
  }
private static String [ ] getPlansFromGoalsInfoAnnotation ( Class < ? > gclass ) { // Find the plans that this goal has Annotation annotation = gclass . getAnnotation ( GoalInfo . class ) ; if ( annotation == null ) { logger . error ( "Goal " + gclass . getName ( ) + " is missing the " + "@GoalInfo(hasPlans={\"package.PlanClass1, package.PlanClass2, ...\"}) " + knowsNothing + "about which plans can handle this goal." ) ; return new String [ 0 ] ; } GoalInfo ginfo = ( GoalInfo ) annotation ; String [ ] plans = ginfo . hasPlans ( ) ; if ( plans . length == 0 ) { logger . error ( "Goal " + gclass . getName ( ) + " does not have any plans defined. Was expecting something like " + "@GoalInfo(hasPlans={\"package.PlanClass1, package.PlanClass2, ...\"}) " + knowsNothing + "about which plans can handle this goal." ) ; } return plans ; }
Gets the list of plans specified in the @GoalInfo annotation of the given goal class.

@param gclass the goal class containing the @GoalInfo annotation
@return list of plans specified in the @GoalInfo annotation, or an empty array if unsuccessful
Gets the list of plans specified in the @GoalInfo annotation of the given goal class .