/** * Gets the property type. * * @param propertyId * the Id identifying the property. * @see Container#getType(java.lang.Object) */ @Override public Class<?> getType(Object propertyId) { return items.getType(propertyId); }
@Override public Class<?> getType(Object propertyId) { return container.getType(propertyId); }
@Override public Class<?> getType(Object propertyId) { return container.getType(propertyId); }
if (converter != null) { if (typeIsCompatible(converter.getModelType(), newDataSource.getType(propertyId))) { retainableValueConverters.add(propertyId);
void initializeFilterFields() { /* Create new filters only if Filterable */ if (owner.getFilterable() != null) { for (Object property : owner.getVisibleColumns()) { if (owner.getContainerPropertyIds().contains(property)) { AbstractField<?> filter = createField(property, owner.getContainerDataSource().getType(property)); addFilterColumn(property, filter); } else { AbstractField<?> filter = createField(property, null); addFilterColumn(property, filter); } } if (!runFiltersOnDemand) { addValueChangeListeners(); } } }
@SuppressWarnings("unchecked") protected Field<?> createField(Container container, Object itemId, Object propertyId, Component uiContext) { ColumnModel model = getColumnModel(String.valueOf(propertyId)); boolean editable = tableEditable && itemId.equals(editableId) && model.isEditable() ; Field<?> f = null; Class<?> type = container.getType(propertyId); f = createFieldForType(type); f.setCaption(null); f.setWidth("100%"); f.setReadOnly(!editable); if (f instanceof AbstractField) { if (model.getConverter() == null) { model.setConverter(findDefaultConverter(model,type)); } if (model.getConverter() != null) ((AbstractField<String>)f).setConverter((Converter<String, ?>)model.generateConverter(type)); } return f; }
private Filter generateNumberFilter(Property<?> field, Object propertyId, Object value) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { /* Handle number filtering */ NumberInterval interval = ((NumberFilterPopup) field).getValue(); if (interval == null) { /* Number interval is empty -> no filter */ return null; } if (owner.getFilterGenerator() != null) { Filter newFilter = owner.getFilterGenerator().generateFilter(propertyId, interval); if (newFilter != null) { return newFilter; } } String ltValue = interval.getLessThanValue(); String gtValue = interval.getGreaterThanValue(); String eqValue = interval.getEqualsValue(); Class<?> typeClass = owner.getContainerDataSource().getType(propertyId); if (!eqValue.isEmpty()) { return new Compare.Equal(propertyId, parseNumberValue(typeClass, eqValue)); } else if (!ltValue.isEmpty() && !gtValue.isEmpty()) { return new And(new Compare.Less(propertyId, parseNumberValue(typeClass, ltValue)), new Compare.Greater(propertyId, parseNumberValue(typeClass, gtValue))); } else if (!ltValue.isEmpty()) { return new Compare.Less(propertyId, parseNumberValue(typeClass, ltValue)); } else if (!gtValue.isEmpty()) { return new Compare.Greater(propertyId, parseNumberValue(typeClass, gtValue)); } return null; }