/** * Cria um DataContainer a partir de um determinado escopo. * * @param id O identificador do container dentro da Engine. * @param scopeId O identificador do escopo que definirá quais campos serão criados. <B>Use <code> * null</code> para nenhum criar um container com todos os campos.</B> * @param parentId Um possível Containerparent. <B>Use <code>null</code> para nenhum.</B> * @return Uma instância de <code>DataContainer</code> devidamente montado com os campos do escopo * definido. */ public DataContainer createContainer(String id, String scopeId, String parentId) { if (containers.containsKey(id)) { throw new CTDApiException(ENGINE_ID_ALREADY_USED + id); } Scope scope = null; if (scopeId != null) { scope = context.getScope(scopeId); if (scope == null) { throw new CTDApiException(ENGINE_SCOPE_NOT_FOUND + scopeId); } } DataContainer parent = null; if (parentId != null) { parent = containers.get(parentId); if (parent == null) { throw new CTDApiException(ENGINE_PARENT_NOT_FOUND + parentId); } } DataContainer container = new StandardDataContainer( id, context.getDataMap(), scope, context.getFieldFactory(), parent); return container; }