package dr.util;
import java.util.List;
/**
* Interface for associating a list of citations with an object
*
* @author Marc A. Suchard
*/
public interface Citable {
/**
* @return a list of citations associated with this object
*/
List<Citation> getCitations();
public class Utils {
public static String getCitationString(Citable citable, String prepend, String postpend) {
List<Citation> citations = citable.getCitations();
if (citations == null || citations.size() == 0) {
return null;
}
StringBuilder builder = new StringBuilder();
for (Citation citation : citations) {
builder.append(prepend);
builder.append(citation.toString());
builder.append(postpend);
}
return builder.toString();
}
public static String getCitationString(Citable citable) {
return getCitationString(citable, DEFAULT_PREPEND, DEFAULT_POSTPEND);
}
public static final String DEFAULT_PREPEND = "\t\t";
public static final String DEFAULT_POSTPEND = "\n";
}
}