Esempio n. 1
0
 /**
  * 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;
 }