Package com.findwise.hydra.admin

Source Code of com.findwise.hydra.admin.WikiPrinter

package com.findwise.hydra.admin;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.reflections.Reflections;

import com.findwise.hydra.admin.StageScanner.ParameterMeta;
import com.findwise.hydra.stage.Stage;

public class WikiPrinter {
  public static void printWikiTable(List<Class<?>> classes) {
    System.out.println("^ Name ^ Package ^ Description ^ Parameters ^");
    for(Class<?> c : classes) {
      Stage s = c.getAnnotation(Stage.class);
      System.out.println("| "+c.getSimpleName() + " | " + c.getPackage().getName()+ " | "+s.description()+" | "+getParametersString(c)+" | ");
    }
  }

  public static String getParametersString(Class<?> c) {
    ArrayList<String> list = new ArrayList<String>();

    List<ParameterMeta> paramList = StageScanner.getParameters(c);
    for(ParameterMeta pt : paramList) {
      String desc = pt.getDescription().equals("") ? "" : " - "+pt.getDescription();
      list.add("**"+pt.getName()+"** ("+pt.getType()+") "+ desc);
    }
   
    if(list.size()==1) {
      return list.get(0);
    }
   
    return StringUtils.join(list, "\\\\ \\\\ ");
  }
 
  public static void main(String[] args) {
    StageScanner ss = new StageScanner();
    List<Class<?>> classes = ss.getClasses(new Reflections("com.findwise"));
    printWikiTable(classes);
  }
}
TOP

Related Classes of com.findwise.hydra.admin.WikiPrinter

TOP
Copyright © 2018 www.massapi.com. 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.