/** * {@inheritDoc} */ @Override public void readabilityChange() { super.readabilityChange(); 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); }
/** * After having performed the standard (super implementation) handling of the * {@code ModelChangeEvent}, it will notify its child connectors of the * referenced model change. * <p> * {@inheritDoc} */ @Override public void modelChange(ModelChangeEvent evt) { // notify the listeners fireModelChange(getOldConnectorValue(), getConnecteeValue()); // handle the change normally super.modelChange(evt); }
String nested = actualKey.substring(dotIndex + 1); ICompositeValueConnector rootC = (ICompositeValueConnector) getChildConnector(root); return rootC.getChildConnector(nested); initChildStructureIfNecessary(); IValueConnector connector = childConnectors.get(actualKey); if (connector == null) { IComponentDescriptor<?> componentDescriptor = getModelDescriptor() .getComponentDescriptor(); if (componentDescriptor != null) { try { getSecurityHandler().pushToSecurityContext(componentDescriptor); IPropertyDescriptor propertyDescriptor = componentDescriptor .getPropertyDescriptor(actualKey); propertyDescriptor, getSecurityHandler()); } finally { getSecurityHandler().restoreLastSecurityContextSnapshot();
context.put(ActionContextConstants.QUERY_MODEL_CONNECTOR, modelConnector); modelConnector.setConnectorValue(queryComponent); Object queryPropertyValue = context .get(ActionContextConstants.ACTION_COMMAND); if (queryPropertyValue != null && !queryPropertyValue.equals("*")) { modelConnector.getChildConnector( erqDescriptor.getComponentDescriptor().getToStringProperty()) .setConnectorValue(queryPropertyValue);
erqDescriptor)); context.put(QUERY_MODEL_CONNECTOR, modelConnector); modelConnector.setConnectorValue(queryComponent); context.put(IQueryComponent.QUERY_COMPONENT, queryComponent); return super.execute(actionHandler, context);
/** * Returns the referenced model. * <p> * {@inheritDoc} */ @Override public <T> T getModel() { return getConnectorValue(); }
/** * The referenced model of this {@code ModelRefPropertyConnector} * changed. It will notify its {@code IModelChangeListener} s (i.e. the * child property connectors) of the change. * <p> * {@inheritDoc} */ @Override public void propertyChange(PropertyChangeEvent evt) { fireModelChange(evt.getOldValue(), evt.getNewValue()); super.propertyChange(evt); }
/** * {@inheritDoc} */ @Override public ModelConnector clone(String newConnectorId) { ModelConnector clonedConnector = (ModelConnector) super .clone(newConnectorId); clonedConnector.modelProvider = new EmbeddedModelProvider( modelProvider.getModelDescriptor()); clonedConnector.modelProviderChanged(null); return clonedConnector; }
} else if (modelDescriptor instanceof IPropertyDescriptor) { if (modelDescriptor instanceof IReferencePropertyDescriptor<?>) { modelConnector = new ModelRefPropertyConnector( (IReferencePropertyDescriptor<?>) modelDescriptor, this); } else if (modelDescriptor instanceof ICollectionPropertyDescriptor<?>) {
/** * {@inheritDoc} */ @Override public void writabilityChange() { super.writabilityChange(); for (String key : getChildConnectorKeys()) { getChildConnector(key).writabilityChange(); } }