/** * {@inheritDoc} */ @Override public IValueConnector getChildConnector(int index) { return getChildConnector(computeStorageKey(index)); }
Collection<?> modelCollection = (Collection<?>) getConnecteeValue(); Map<Object, List<IValueConnector>> existingConnectorsByValue = new HashMap<>(); for (String connectorKey : new ArrayList<>(getChildConnectorKeys())) { IValueConnector childConnector = getChildConnector(connectorKey); List<IValueConnector> existingConnectors = existingConnectorsByValue .get(childConnector.getConnectorValue()); removeChildConnector(connectorKey); connector = existingConnectors.remove(0); } else { connector = createChildConnector(getId() + "Element"); addChildConnector(computeStorageKey(i), connector); i++; .values()) { for (IValueConnector obsoleteConnector : obsoleteConnectors) { cleanupConnector(obsoleteConnector);
/** * This implementation returns a {@code ModelConnector} instance. * <p> * {@inheritDoc} */ @Override public IValueConnector createChildConnector(String connectorId) { if (connectorTank != null && !connectorTank.isEmpty()) { return connectorTank.remove(0); } IComponentDescriptor<?> componentDescriptor; componentDescriptor = ((ICollectionDescriptorProvider<?>) getModelDescriptor()) .getCollectionDescriptor().getElementDescriptor(); IValueConnector elementConnector = modelConnectorFactory .createModelConnector(connectorId, componentDescriptor, getSecurityHandler()); return elementConnector; }
/** * {@inheritDoc} */ @Override protected ICollectionDescriptorProvider<?> getModelDescriptor( Map<String, Object> context) { return (ICollectionDescriptorProvider<?>) getModelConnector(context) .getModelDescriptor(); } }
/** * {@inheritDoc} */ @Override public void readabilityChange() { super.writabilityChange(); for (String key : getChildConnectorKeys()) { getChildConnector(key).readabilityChange(); } }
/** * Adds a new child connector to this composite. The key used as storage key * is the child connector id. * * @param childConnector * the added connector. */ @Override public final void addChildConnector(IValueConnector childConnector) { addChildConnector(childConnector.getId(), childConnector); }
(IReferencePropertyDescriptor<?>) modelDescriptor, this); } else if (modelDescriptor instanceof ICollectionPropertyDescriptor<?>) { modelConnector = new ModelCollectionPropertyConnector( (ICollectionPropertyDescriptor<?>) modelDescriptor, this); } else if (modelDescriptor instanceof IScalarPropertyDescriptor) {
/** * {@inheritDoc} */ @Override public ICollectionDescriptorProvider<?> getModelDescriptor( Map<String, Object> context) { return (ICollectionDescriptorProvider<?>) getModelConnector(context) .getModelDescriptor(); }
/** * {@inheritDoc} */ @Override public void writabilityChange() { super.writabilityChange(); for (String key : getChildConnectorKeys()) { getChildConnector(key).writabilityChange(); } }