类com.vaadin.server.SerializablePredicate源码实例Demo

下面列出了怎么用com.vaadin.server.SerializablePredicate的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cuba   文件: AttributesLocationCompanion.java
@Override
@SuppressWarnings("unchecked")
public void initGridDragAndDrop(DataGrid<CategoryAttribute> dataGrid,
                                List<CategoryAttribute> dataContainer,
                                boolean isAttributesSourceDataGrid) {

    DataProvider<CategoryAttribute, SerializablePredicate<CategoryAttribute>> dataProvider =  new ListDataProvider<>(dataContainer);

    if (isAttributesSourceDataGrid) {
        attributesSourceDataContainer = dataContainer;
        attributesSourceDataProvider = dataProvider;
        attributesSourceGrid = dataGrid.unwrap(CubaGrid.class);
    }

    dataGrid.withUnwrapped(CubaGrid.class, grid -> {
        grid.setDataProvider(dataProvider);

        GridDragSource<CategoryAttribute> gridDragSource = new GridDragSource<>(grid);
        gridDragSource.addGridDragStartListener(this::onGridDragStart);

        GridDropTarget<CategoryAttribute> gridDropTarget = new GridDropTarget<>(grid, DropMode.BETWEEN);
        gridDropTarget.addGridDropListener(e -> onGridDrop(e, isAttributesSourceDataGrid));
    });
}
 
源代码2 项目: GridExtensionPack   文件: PagedDataProviderTest.java
@Test
public void testOffsetProvidedByQuery() {
	Query<String, SerializablePredicate<String>> zeroOffsetQuery = new Query<>();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(zeroOffsetQuery));

	Query<String, SerializablePredicate<String>> singleOffsetQuery = new Query<>(
			1,
			zeroOffsetQuery.getLimit(),
			zeroOffsetQuery.getSortOrders(),
			zeroOffsetQuery.getInMemorySorting(),
			zeroOffsetQuery.getFilter().orElse(null));
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(singleOffsetQuery));
	Assert.assertEquals(controls.getPageLength() - 1, pagedDP.fetch(singleOffsetQuery).count());

	controls.nextPage();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(singleOffsetQuery));
	Assert.assertEquals(controls.getPageLength() - 1, pagedDP.fetch(singleOffsetQuery).count());
}
 
源代码3 项目: GridExtensionPack   文件: PagedDataProviderTest.java
@Test
public void testLimitProvidedByQuery() {
	Query<String, SerializablePredicate<String>> implicitLimitQuery = new Query<>();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(implicitLimitQuery));

	Query<String, SerializablePredicate<String>> explicitLimitQuery = new Query<>(
			implicitLimitQuery.getOffset(),
			controls.getPageLength() - 1,
			implicitLimitQuery.getSortOrders(),
			implicitLimitQuery.getInMemorySorting(),
			implicitLimitQuery.getFilter().orElse(null));
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(explicitLimitQuery));
	Assert.assertEquals(controls.getPageLength() - 1, pagedDP.fetch(explicitLimitQuery).count());

	controls.nextPage();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(explicitLimitQuery));
	Assert.assertEquals(controls.getPageLength() - 1, pagedDP.fetch(explicitLimitQuery).count());
}
 
源代码4 项目: GridExtensionPack   文件: PagedDataProviderTest.java
@Test
public void testOffsetAndLimitProvidedByQuery() {
	Query<String, SerializablePredicate<String>> implicitLimitQuery = new Query<>();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(implicitLimitQuery));

	Query<String, SerializablePredicate<String>> explicitLimitQuery = new Query<>(
			1,
			controls.getPageLength() - 2,
			implicitLimitQuery.getSortOrders(),
			implicitLimitQuery.getInMemorySorting(),
			implicitLimitQuery.getFilter().orElse(null));
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(explicitLimitQuery));
	Assert.assertEquals(controls.getPageLength()- 2, pagedDP.fetch(explicitLimitQuery).count());

	controls.nextPage();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(explicitLimitQuery));
	Assert.assertEquals(controls.getPageLength() - 2, pagedDP.fetch(explicitLimitQuery).count());
}
 
源代码5 项目: GridExtensionPack   文件: PagedDataProviderTest.java
@Test
public void testFilterProvidedByQuery() {
	controls.setPageLength(15);

	Query<String, SerializablePredicate<String>> noFilterQuery = new Query<>();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(noFilterQuery));
	Assert.assertEquals(controls.getPageLength(), pagedDP.fetch(noFilterQuery).count());

	Query<String, SerializablePredicate<String>> filterQuery = new Query<>(x -> x.startsWith("Item 2"));
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(filterQuery));
	Assert.assertEquals(controls.getPageLength(), pagedDP.fetch(filterQuery).count());

	filterQuery = new Query<>(x -> x.startsWith("Item 3"));
	Assert.assertEquals(11, pagedDP.size(filterQuery));
	Assert.assertEquals(11, pagedDP.fetch(filterQuery).count());
}
 
源代码6 项目: cuba   文件: TreeDataProvider.java
@Override
public int size(Query<T, SerializablePredicate<T>> query) {
    // FIXME: gg, query?
    if (treeItems.getState() == BindingState.INACTIVE) {
        return 0;
    }

    return treeItems.size();
}
 
源代码7 项目: cuba   文件: TreeDataProvider.java
@Override
public int getChildCount(HierarchicalQuery<T, SerializablePredicate<T>> query) {
    if (treeItems.getState() == BindingState.INACTIVE) {
        return 0;
    }

    return treeItems.getChildCount(query.getParent());
}
 
源代码8 项目: cuba   文件: TreeDataProvider.java
@Override
public Stream<T> fetchChildren(HierarchicalQuery<T, SerializablePredicate<T>> query) {
    if (treeItems.getState() == BindingState.INACTIVE) {
        return Stream.empty();
    }

    return treeItems.getChildren(query.getParent())
            .skip(query.getOffset())
            .limit(query.getLimit());
}
 
源代码9 项目: cuba   文件: HierarchicalDataGridDataProvider.java
@Override
public int getChildCount(HierarchicalQuery<T, SerializablePredicate<T>> query) {
    if (getTreeDataGridSource().getState() == BindingState.INACTIVE) {
        return 0;
    }

    return getTreeDataGridSource().getChildCount(query.getParent());
}
 
源代码10 项目: cuba   文件: HierarchicalDataGridDataProvider.java
@Override
public Stream<T> fetchChildren(HierarchicalQuery<T, SerializablePredicate<T>> query) {
    if (dataGridItems.getState() == BindingState.INACTIVE) {
        return Stream.empty();
    }

    return getTreeDataGridSource().getChildren(query.getParent())
            .skip(query.getOffset())
            .limit(query.getLimit());
}
 
源代码11 项目: cuba   文件: DataGridDataProvider.java
@Override
public int size(Query<T, SerializablePredicate<T>> query) {
    // FIXME: gg, query?
    if (dataGridItems.getState() == BindingState.INACTIVE) {
        return 0;
    }

    return dataGridItems.size();
}
 
源代码12 项目: cuba   文件: DataGridDataProvider.java
@Override
public Stream<T> fetch(Query<T, SerializablePredicate<T>> query) {
    if (dataGridItems.getState() == BindingState.INACTIVE) {
        return Stream.empty();
    }

    return dataGridItems.getItems()
            .skip(query.getOffset())
            .limit(query.getLimit());
}
 
源代码13 项目: GridExtensionPack   文件: PagedDataProviderTest.java
@Test
public void testOffsetProvidedByQueryIsOnePageLength() {
	Query<String, SerializablePredicate<String>> zeroOffsetQuery = new Query<>();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(zeroOffsetQuery));

	Query<String, SerializablePredicate<String>> singlePageOffsetQuery = new Query<>(
			controls.getPageLength(),
			zeroOffsetQuery.getLimit(),
			zeroOffsetQuery.getSortOrders(),
			zeroOffsetQuery.getInMemorySorting(),
			zeroOffsetQuery.getFilter().orElse(null));
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(singlePageOffsetQuery));
	Assert.assertEquals(0, pagedDP.fetch(singlePageOffsetQuery).count());
}
 
源代码14 项目: GridExtensionPack   文件: PagedDataProviderTest.java
@Test
public void testOffsetProvidedByQueryIsTwoPageLengths() {
	Query<String, SerializablePredicate<String>> zeroOffsetQuery = new Query<>();
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(zeroOffsetQuery));

	Query<String, SerializablePredicate<String>> twoPageOffsetQuery = new Query<>(
			controls.getPageLength() * 2,
			zeroOffsetQuery.getLimit(),
			zeroOffsetQuery.getSortOrders(),
			zeroOffsetQuery.getInMemorySorting(),
			zeroOffsetQuery.getFilter().orElse(null));
	Assert.assertEquals(controls.getPageLength(), pagedDP.size(twoPageOffsetQuery));
	Assert.assertEquals(0, pagedDP.fetch(twoPageOffsetQuery).count());
}
 
源代码15 项目: vaadin-grid-util   文件: GridCellFilter.java
private void refreshFilters() {
    dataProvider.clearFilters();
    SerializablePredicate<T> filter = null;
    for (Entry<String, SerializablePredicate> entry :
            assignedFilters.entrySet()) {
        final String columnId = entry.getKey();

        ValueProvider<T, ?> provider = null;
        try {
            provider = propertySet.getProperty(columnId).get().getGetter();
        } catch (Exception e) {
            try {
                provider = grid.getColumn(columnId).getValueProvider();
            }catch (Exception ex){
                e.printStackTrace();
                ex.printStackTrace();
                throw e;
            }
        }

        SerializablePredicate<T> singleFilter = InMemoryDataProviderHelpers.createValueProviderFilter(provider, entry.getValue());
        if (filter == null) {
            filter = singleFilter;
        } else {
            SerializablePredicate<T> tempFilter = filter;
            filter = (item -> tempFilter.test(item) && singleFilter.test(item));
        }
    }
    if (filter != null) {
        dataProvider.setFilter(filter);
    }
}
 
源代码16 项目: GridExtensionPack   文件: DemoContentLayout.java
public DemoContentLayout() {
	final SelectGrid<TestObject> grid = new SelectGrid<>();
	grid.addColumn(TestObject::getFoo).setCaption("Foo");
	grid.addColumn(TestObject::getBar, new NumberRenderer()).setCaption("Bar");
	grid.addColumn(TestObject::getKm, new NumberRenderer()).setCaption("KM");
	grid.setHeightByRows(10);
	grid.setHeightMode(HeightMode.ROW);

	// Show it in the middle of the screen
	setStyleName("demoContentLayout");
	setSizeFull();
	addComponent(grid);
	setComponentAlignment(grid, Alignment.MIDDLE_CENTER);

	final TableSelectionModel<TestObject> tableSelect = new TableSelectionModel<>();
	grid.setSelectionModel(tableSelect);
	tableSelect.setMode(TableSelectionMode.CTRL);

	HorizontalLayout tableSelectionControls = new HorizontalLayout();
	tableSelectionControls.setCaption("Table Selection Controls");

	// Controls for testing different TableSelectionModes
	for (final TableSelectionMode t : TableSelectionMode.values()) {
		tableSelectionControls.addComponent(new Button(t.toString(), e -> tableSelect.setMode(t)));
	}

	addComponent(tableSelectionControls);

	// TODO: PagingDataProvider

	PagedDataProvider<TestObject, SerializablePredicate<TestObject>> dataProvider = new PagedDataProvider<>(
			DataProvider.ofCollection(TestObject.generateTestData(995)));
	grid.setDataProvider(dataProvider);
	PagingControls pagingControls = dataProvider.getPagingControls();

	HorizontalLayout pages = new HorizontalLayout();
	pages.setCaption("Paging controls");
	pages.addComponent(new Button("First", e -> pagingControls.setPageNumber(0)));
	pages.addComponent(new Button("Previous", e -> pagingControls.previousPage()));
	pages.addComponent(new Button("Next", e -> pagingControls.nextPage()));
	pages.addComponent(new Button("Last", e -> pagingControls.setPageNumber(pagingControls.getPageCount() - 1)));
	VerticalLayout controls = new VerticalLayout();
	controls.addComponents(tableSelectionControls, pages);
	controls.setWidth("100%");
	controls.setHeightUndefined();
	controls.setComponentAlignment(tableSelectionControls, Alignment.MIDDLE_CENTER);
	controls.setComponentAlignment(pages, Alignment.BOTTOM_CENTER);
	addComponent(controls);
	setComponentAlignment(controls, Alignment.MIDDLE_CENTER);

	grid.getEditor().setEnabled(true);
	for (Column<TestObject, ?> c : grid.getColumns()) {
		c.setHidable(true);
	}
}
 
源代码17 项目: vaadin-grid-util   文件: GridCellFilter.java
/**
 * checks assignedFilters replace already handled one and add new one
 *
 * @param filter   container filter
 * @param columnId id of property
 */
public void replaceFilter(SerializablePredicate filter, String columnId) {
    assignedFilters.put(columnId, filter);
    refreshFilters();
}