private static Collection<Binding> wire(final CallOnUpdate callOnUpdate, final BindingContext context, final ObjectFieldMethod method) { final String to = callOnUpdate.model(); final BindableModel model; if (Strings.isNullOrEmpty(to)) { Set<BindableModel> models = context.getBindableModels(); if (models.size() != 1) { throw new BindingException("more than one bindable model for empty 'to'"); //$NON-NLS-1$ } model = models.iterator().next(); } else { model = context.getBindableModel(to); if (model == null) { throw new BindingException("can't find method to bind to: " + to); //$NON-NLS-1$ } } final String[] ons = callOnUpdate.on(); List<Object> onObjects = BindingContext.getOnObjects(ons, model); Binding binding = makeBinding(method, onObjects); model.bind(binding); return ImmutableList.of(binding); }
private Binding bindJList(final Bound bound, final Mutator mutator, final JList list) { final List<Object> ons = BindingContext.getOnObjects(bound.on(), mutator.getModel()); Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { if (!BindingContext.isOn(ons, changed)) { return; } try { updateListModel(list, (List<?>)mutator.get()); } catch (Exception ex) { Wiring.logger.error("exception in JList binding", ex); } } }; mutator.getModel().bind(binding); return binding; }
private Binding bindJComboBox(final Bound bound, final Mutator mutator, final JComboBox combo, final String nullValue) { final List<Object> ons = BindingContext.getOnObjects(bound.on(), mutator.getModel()); Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { if (!BindingContext.isOn(ons, changed)) { return; } try { updateComboModel(combo, (List<?>)mutator.get(), nullValue); } catch (Exception ex) { Wiring.logger.error("exception in JList binding", ex); } } }; mutator.getModel().bind(binding); return binding; }
final JList list) { final boolean multi = bound.multi(); final List<Object> ons = BindingContext.getOnObjects(bound.on(), mutator.getModel());