package org.inferred.freebuilder.processor.util; import com.google.common.collect.ComparisonChain; public abstract class StaticExcerpt extends Excerpt implements Comparable<StaticExcerpt> { public enum Type { METHOD, TYPE } private final Type type; private final String name; protected StaticExcerpt(Type type, String name) { this.type = type; this.name = name; } public Type getType() { return type; } public String getName() { return name; } @Override public int compareTo(StaticExcerpt o) { return ComparisonChain.start() .compare(getType(), o.getType()) .compare(getName(), o.getName()) .result(); } @Override protected void addFields(FieldReceiver fields) { fields.add("type", type); fields.add("name", name); } }