package charts.builder.spreadsheet;
public class SubstitutionKey {
public static interface Val {
public String value(Context ctx);
}
public static class SubstitutionException extends RuntimeException {
public SubstitutionException(String msg, SubstitutionKey key) {
super(msg+" "+key.toString());
}
}
private final String name;
private final String description;
private final Val resolver;
public SubstitutionKey(String name, String description, Val resolver) {
this.name = name;
this.description = description;
this.resolver = resolver;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public String getValue(Context ctx) {
return this.resolver.value(ctx);
}
@Override
public String toString() {
return getName();
}
}