/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package Sirius.server.middleware.types;
import java.util.Formatter;
/**
* DOCUMENT ME!
*
* @author srichter
* @version $Revision$, $Date$
*/
public final class StringPatternFormater extends AbstractAttributeRepresentationFormater {
//~ Instance fields --------------------------------------------------------
private final String[] fieldNames;
private final String pattern;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new StringPatternFormater object.
*
* @param pattern DOCUMENT ME!
* @param fieldNames DOCUMENT ME!
*/
public StringPatternFormater(final String pattern, final String... fieldNames) {
this.fieldNames = fieldNames;
this.pattern = pattern;
}
//~ Methods ----------------------------------------------------------------
@Override
public String getRepresentation() {
if (fieldNames == null) {
return "Fieldname array is null!"; // NOI18N
}
final Object[] values = new Object[fieldNames.length];
for (int i = 0; i < fieldNames.length; ++i) {
values[i] = getAttribute(fieldNames[i]);
}
final Formatter formatter = new Formatter(new StringBuilder());
return formatter.format(pattern, values).toString();
}
}