@Override public InstanceContainer<E> getInstanceContainer(E item) { if (fieldDatasources == null) { fieldDatasources = new WeakHashMap<>(); } Object fieldDatasource = fieldDatasources.get(item); if (fieldDatasource instanceof InstanceContainer) { //noinspection unchecked return (InstanceContainer<E>) fieldDatasource; } EntityTableItems containerTableItems = (EntityTableItems) getItems(); InstanceContainer<E> instanceContainer = dataComponents.createInstanceContainer( containerTableItems.getEntityMetaClass().getJavaClass()); View view = viewRepository.getView(containerTableItems.getEntityMetaClass(), "_local"); instanceContainer.setView(view); instanceContainer.setItem(item); fieldDatasources.put(item, instanceContainer); return instanceContainer; }
protected InstanceContainer<E> createInstanceContainer(E item) { if (itemContainers == null) { itemContainers = new WeakHashMap<>(); } InstanceContainer<E> container = itemContainers.get(item); if (container != null) { return container; } EntityDataGridItems<E> items = getEntityDataGridItemsNN(); DataComponents factory = beanLocator.get(DataComponents.class); ViewRepository viewRepository = beanLocator.get(ViewRepository.NAME); MetaClass metaClass = items.getEntityMetaClass(); InstanceContainer<E> instanceContainer = factory.createInstanceContainer(metaClass.getJavaClass()); instanceContainer.setView(viewRepository.getView(metaClass, View.LOCAL)); instanceContainer.setItem(item); itemContainers.put(item, instanceContainer); return instanceContainer; }
protected void loadInstanceContainer(ScreenData screenData, Element element, @Nullable ScreenData hostScreenData) { String containerId = getRequiredAttr(element, "id"); InstanceContainer<Entity> container; if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions container = hostScreenData.getContainer(containerId); } else { container = factory.createInstanceContainer(getEntityClass(element)); loadView(element, getEntityClass(element), container); } screenData.registerContainer(containerId, container); Element loaderEl = element.element("loader"); if (loaderEl != null) { loadInstanceLoader(screenData, loaderEl, container, hostScreenData); } for (Element collectionEl : element.elements()) { loadNestedContainer(screenData, collectionEl, container, hostScreenData); } }
"Cannot bind instance container '%s' to a non-reference property '%s'", containerId, property)); nestedContainer = factory.createInstanceContainer( metaProperty.getRange().asClass().getJavaClass(), masterContainer, property);
InstanceContainer<Entity> propertyCont = dataComponents.createInstanceContainer(intermediatePath.getRangeJavaClass());