package ch.vorburger.blueprints.data.binding;
import java.util.HashMap;
import java.util.Map;
import ch.vorburger.blueprints.data.DataObject;
/**
* Abstract base class for Binding Implementations.
*
* @author Michael Vorburger
*/
public abstract class AbstractBinding implements Binding {
protected static final char PATH_SEPARATOR = '.';
@Override
public abstract void mapFromTo(Map<String, DataObject> dataObjectNameMap) throws BindingException;
@Override
public void mapFromTo(NamedDataObject... namedDataObjects) throws BindingException {
Map<String, DataObject> dataObjectNameMap = new HashMap<String, DataObject>();
for (NamedDataObject namedDataObject : namedDataObjects) {
dataObjectNameMap.put(namedDataObject.name, namedDataObject.dataObject);
}
mapFromTo(dataObjectNameMap);
}
public static NamedDataObject newNamedDataObject(String name, DataObject dataObject) {
return new NamedDataObject(name, dataObject);
}
}