
com.github.yin.flags.analysis.UsagePrinter Maven / Gradle / Ivy
package com.github.yin.flags.analysis;
import com.github.yin.flags.ClassMetadataIndex;
import com.github.yin.flags.FlagIndex;
import com.github.yin.flags.FlagMetadata;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Sets;
import java.io.PrintStream;
import java.util.Set;
/**
* @author yin
*/
public class UsagePrinter {
public void printUsage(FlagIndex flagMetaIndex, ClassMetadataIndex classMetaIndex, PrintStream out) {
ImmutableMultimap links = flagMetaIndex.byClass();
for (String className : links.keySet()) {
Set classFlags = Sets.newTreeSet(links.get(className));
out.println(className + ':');
if (classMetaIndex.classes().containsKey(className)) {
String desc = classMetaIndex.classes().get(className).desc();
if (desc != null && !desc.isEmpty()) {
out.println(desc);
out.println();
}
}
for (FlagMetadata link : classFlags) {
out.println("\t" + link.flagID().flagName() + "\t" + link.desc());
}
out.println();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy