public static Collection<Binding> bindJProgressBar(final BindableModel model, final JProgressBar bar, final Method getter) { Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { try { int val = getValueForObject(getter.invoke(model)); bar.setValue(val); bar.setIndeterminate(val < 0); } catch (Exception ex) { Wiring.logger.error("exception in JTextField binding", ex); } } }; model.bind(binding); return Collections.singleton(binding); } }
public void release(BindableModel model) { for (Binding binding : bindings) { model.unbind(binding); } }
public static Binding bindJLabel(final Mutator mutator, final JLabel label) { Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { try { String text = ""; Object obj = mutator.get(); if (obj != null) { text = obj.toString(); } label.setText(text); } catch (Exception ex) { Wiring.logger.error("exception in JLabel binding", ex); } } }; mutator.getModel().bind(binding); return binding; } }
mutator.getModel().bind(binding); return binding;
mutator.getModel().bind(binding); return Collections.singleton(binding);
model.bind(binding); return Collections.singleton(binding);
public static Binding bindJToggleButtonToBoolean(String value, final Mutator mutator, final AbstractButton button) { final boolean booleanValue = Boolean.valueOf(value); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { mutator.set(booleanValue); } catch (Exception ex) { Wiring.logger.error("exception in JRadioButton binding", ex); //$NON-NLS-1$ } } }); Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { try { button.setSelected(mutator.get().equals(Boolean.valueOf(booleanValue))); } catch (Exception ex) { Wiring.logger.error("exception in JRadioButton binding", ex); //$NON-NLS-1$ } } }; mutator.getModel().bind(binding); return binding; }
model1.bind(binding); return Collections.singleton(binding);
public static Binding bindAbstractButton( final Mutator mutator, final AbstractButton abstractButton) { abstractButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { mutator.set(abstractButton.isSelected()); } catch (Exception ex) { Wiring.logger.error("exception in AbstractButton binding", ex); } } }); Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { try { abstractButton.setSelected((Boolean)mutator.get()); } catch (Exception ex) { Wiring.logger.error("exception in AbstractButton binding", ex); } } }; mutator.getModel().bind(binding); return binding; } }
mutator.getModel().bind(binding);
model1.bind(binding); return Collections.singleton(binding);
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); }
public static Binding bindJToggleButtonToEnum(final String value, final Class<?> enumType, final Mutator mutator, final AbstractButton button) { final Object enumValue = Reflections.evalEnum(enumType, value); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { mutator.set(enumValue); } catch (Exception ex) { Wiring.logger.error("exception in JToggleButton binding", ex); //$NON-NLS-1$ } } }); Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { try { button.setSelected(mutator.get() == enumValue); } catch (Exception ex) { Wiring.logger.error("exception in JToggleButton binding", ex); //$NON-NLS-1$ } } }; mutator.getModel().bind(binding); return binding; } }
((BindableModel)getter.getObject()).bind(binding); return Collections.singleton(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; }
((BindableModel)getter.getObject()).bind(binding); return Collections.singleton(binding);
mutator.getModel().bind(binding); return Collections.singleton(binding);
public Collection<Binding> wire(BindingContext context) { List<Field> loggedModels = context.getAnnotatedFields(LoggedModel.class); List<Binding> bindings = Lists.newArrayList(); for (Field field : loggedModels) { final LoggedModel annotation = field.getAnnotation(LoggedModel.class); final String loggerParam = annotation.logger(); final String fieldName = field.getName(); if (BindableModel.class.isAssignableFrom(field.getType())) { BindableModel model = context.getFieldObject(field, BindableModel.class); Binding binding = new Binding() { public <T extends Enum<?> & ModelUpdate> void update(T... changed) { for (T t : changed){ Logger logger = LoggerFactory.getLogger(loggerParam); if (logger.isInfoEnabled()) { logger.info(t.toString() + ": " + fieldName); } } } }; model.bind(binding); bindings.add(binding); } else { throw new BindingException("Can only log a BindableModel."); } } return bindings; } }