package com.ripple.core.formats;
import com.ripple.core.fields.Field;
import java.util.EnumMap;
abstract public class Format {
public void addCommonFields(){}
EnumMap<Field, Requirement> requirementEnumMap = new EnumMap<Field, Requirement>(Field.class);
public EnumMap<Field, Requirement> requirements() {
return requirementEnumMap;
}
abstract public String name ();
public Format(Object[] args) {
if ((!(args.length % 2 == 0)) || args.length < 2) {
throw new IllegalArgumentException("Varargs length should be a minimum multiple of 2");
}
for (int i = 0; i < args.length; i+= 2) {
Field f = (Field) args[i];
Requirement r = (Requirement) args[i + 1];
put(f, r);
}
}
protected void put(Field f, Requirement r) {
requirementEnumMap.put(f, r);
}
public static enum Requirement {
INVALID(-1),
REQUIRED( 0),
OPTIONAL( 1),
DEFAULT( 2);
Requirement(int i) {}
}
}