/** * */ package xapi.model.api; import xapi.model.service.ModelService; import xapi.source.api.CharIterator; /** * @author James X. Nelson (james@wetheinter.net, @james) * */ public class ModelDeserializationContext { private ModelService service; private CharIterator chars; private PrimitiveSerializer primitives; private final Model model; private final ModelManifest manifest; private boolean clientToServer; public ModelDeserializationContext(final Model model, final CharIterator chars, final ModelService service, final ModelManifest manifest) { this.model = model; this.service = service; this.manifest = manifest; this.setChars(chars); this.primitives= service.primitiveSerializer(); } /** * @return -> primitives */ public PrimitiveSerializer getPrimitives() { return primitives; } /** * @param primitives -> set primitives */ public void setPrimitives(final PrimitiveSerializer primitives) { this.primitives = primitives; } /** * @return -> service */ public ModelService getService() { return service; } /** * @param service -> set service */ public void setService(final ModelService service) { this.service = service; } /** * @return -> chars */ public CharIterator getChars() { return chars; } /** * @param chars -> set chars */ public void setChars(final CharIterator chars) { this.chars = chars; } /** * @return -> model */ public Model getModel() { return model; } /** * @return -> manifest */ public ModelManifest getManifest() { return manifest; } /** * @return -> clientToServer */ public boolean isClientToServer() { return clientToServer; } /** * @param clientToServer -> set clientToServer */ public void setClientToServer(final boolean clientToServer) { this.clientToServer = clientToServer; } public ModelDeserializationContext createChildContext(final Class<? extends Model> propertyType, final CharIterator src) { return new ModelDeserializationContext(getService().create(propertyType), src, getService(), getManifest()); } }