@SuppressWarnings({"unchecked", "rawtypes"}) @Override public Class getType() { if (fieldType == null) { try { fieldType = (Class<T>) ((Container.Ordered) select .getContainerDataSource()).firstItemId().getClass(); } catch (Exception e) { // If field type isn't set or can't be detected just report // Object, should be fine in most cases (vaadin will just // assign value without conversion. return Object.class; } } return fieldType; }
private void updateButtonState(Object newValue) { if (newValue == null) { setButtonEnabled(back, false); setButtonEnabled(forward, false); return; } Object first = getContainerDataSource().firstItemId(); Object last = getContainerDataSource().lastItemId(); if (!newValue.equals(first) && !newValue.equals(last)) { setButtonEnabled(back, true); setButtonEnabled(forward, true); } else if (newValue.equals(first)) { setButtonEnabled(back, false); setButtonEnabled(forward, true); } else { setButtonEnabled(back, true); setButtonEnabled(forward, false); } }
/** * Gets the ID of the first Item in the Container. * * @see Container.Ordered#firstItemId() */ @Override public Object firstItemId() { return ((Container.Ordered) items).firstItemId(); }
@Override public Object firstItemId() { if (ordered) { return ((Container.Ordered) container).firstItemId(); } return first; }