@Override public void propertyChange(PropertyChangeEvent evt) { IView<RComponent> view = (IView<RComponent>) evt.getSource(); RComponent peer = view.getPeer(); IValueConnector connector = (IValueConnector) evt.getNewValue(); if (connector instanceof IRemoteStateOwner) { peer.setState(((IRemoteStateOwner) connector).getState()); } else { peer.setState(null); } } };
@Override public void valueChange(ValueChangeEvent evt) { ICollectionConnector connector = (ICollectionConnector) evt.getSource(); int targetCount = connector.getChildConnectorCount(); List<RComponent> extraSections = new ArrayList<>(); for (int i = 0; i < targetCount; i++) { IValueConnector elementConnector = connector.getChildConnector(i); int childId = System.identityHashCode(elementConnector); if (!childIds.containsKey(childId)) { IView<RComponent> extraSection = createView(viewDescriptor.getRepeatedViewDescriptor(), actionHandler, locale); extraSection.setParent(repeaterView); RComponent peer = extraSection.getPeer(); RemoteValueState state = ((IRemoteStateOwner) elementConnector).getState(); peer.setState(state); extraSections.add(peer); getMvcBinder().bind(extraSection.getConnector(), elementConnector); childIds.put(childId, extraSection); } } if (!extraSections.isEmpty()) { addRepeatedSections(repeater, extraSections); } } });
/** * {@inheritDoc} */ @Override protected RComponent createSecurityComponent() { RComponent securityComponent = new RSecurityComponent(getGuidGenerator().generateGUID()); securityComponent.setState(new RemoteValueState(getGuidGenerator().generateGUID())); return securityComponent; }
/** * {@inheritDoc} */ @Override protected RComponent createEmptyComponent() { RComponent emptyComponent = new REmptyComponent(getGuidGenerator().generateGUID()); emptyComponent.setState(new RemoteValueState(getGuidGenerator().generateGUID())); return emptyComponent; }
/** * {@inheritDoc} */ @Override public IView<RComponent> constructView(RComponent viewComponent, IViewDescriptor descriptor, IValueConnector connector) { IView<RComponent> view = super.constructView(viewComponent, descriptor, connector); if (connector instanceof IPermIdSource) { ((IPermIdSource) connector).setPermId(descriptor.getPermId()); } if (viewComponent.getState() == null) { viewComponent.setState(((IRemoteStateOwner) connector).getState()); } viewComponent.setPermId(descriptor.getPermId()); return view; }