/*
* GlobalLoader.java criado em 07/09/2012
*
* Propriedade de Objectos Fábrica de Software LTDA.
* Reprodução parcial ou total proibida.
*/
package br.com.objectos.way.etc.model;
import br.com.objectos.way.etc.EtcLoader;
import br.com.objectos.way.etc.Mapping;
/**
* @author marcio.endo@objectos.com.br (Marcio Endo)
*/
public enum GlobalLoader implements EtcLoader<Global> {
INSTANCE;
@Override
public Global load(Mapping map) {
return new GlobalBuilder(map).build();
}
private class GlobalBuilder implements Global.Builder {
private final Mapping map;
public GlobalBuilder(Mapping map) {
this.map = map;
}
@Override
public Global build() {
return new Global(this);
}
@Override
public User getUser() {
Mapping userMap = map.getMapping("user");
return UserLoader.INSTANCE.load(userMap);
}
@Override
public Dirs getDirs() {
Mapping dirsMap = map.getMapping("dirs");
return DirsLoader.INSTANCE.load(dirsMap);
}
@Override
public String getString() {
return map.getString("string");
}
@Override
public int getInteger() {
return map.getInt("integer");
}
}
}