/** * 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); }
private void createAndAddRenderingChildConnector(AbstractCompositeValueConnector compositeValueConnector, String renderingConnectorId) { if (renderingConnectorId != null) { compositeValueConnector.addChildConnector(renderingConnectorId, createValueConnector(renderingConnectorId)); compositeValueConnector.setRenderingChildConnectorId(renderingConnectorId); } }
private void createAndAddRenderingChildConnector( AbstractCompositeValueConnector compositeValueConnector, String renderingConnectorId) { if (renderingConnectorId != null) { compositeValueConnector.addChildConnector(renderingConnectorId, createValueConnector(renderingConnectorId)); compositeValueConnector .setRenderingChildConnectorId(renderingConnectorId); } } }
/** * Overrides to allow for duplicate Ids. When 2 connectors with the same id * are added, instead of replacing the old one, the new one is added with '#x' * appended to its id. * <p> * {@inheritDoc} */ @Override public void addChildConnector(String storageKey, IValueConnector connector) { Collection<String> childrenKeys = getChildConnectorKeys(); int n = 1; String dedupKey = storageKey; while (childrenKeys.contains(dedupKey)) { dedupKey = getRankedKey(storageKey, n); n++; } super.addChildConnector(dedupKey, connector); }
/** * {@inheritDoc} */ @Override public AbstractCompositeValueConnector clone(String newConnectorId) { AbstractCompositeValueConnector clonedConnector = (AbstractCompositeValueConnector) super .clone(newConnectorId); clonedConnector.childConnectors = null; clonedConnector.childConnectorKeys = null; clonedConnector.itemSelectionSupport = null; for (String connectorKey : getChildConnectorKeys()) { clonedConnector.addChildConnector(connectorKey, getChildConnector(connectorKey).clone()); } return clonedConnector; }