@Override public Optional<QuerySort> resolve(MySort expression, ResolutionContext context) throws InvalidExpressionException { return Optional.of(P1.asc().and(P2.desc())); // <3> }
public void sort2() { // tag::sort2[] final PathProperty<String> PROPERTY = PathProperty.create("test", String.class); final PathProperty<String> ANOTHER_PROPERTY = PathProperty.create("another", String.class); // <1> QuerySort sortAsc = PROPERTY.asc(); // sort ASCENDING on given property QuerySort sortDesc = PROPERTY.desc(); // sort DESCENDING on given property // <2> PROPERTY.asc().and(ANOTHER_PROPERTY.desc()); // sort ASCENDING on PROPERTY, than sort DESCENDING on // ANOTHER_PROPERTY // end::sort2[] }
public void listing9() { // tag::listing9[] PropertyListing listing = Components.listing.properties(PROPERTIES) // .sortable(ID, true) // <1> .sortUsing(ID, DESCRIPTION) // <2> .sortGenerator(ID, (property, ascending) -> { // <3> return ascending ? ID.asc() : ID.desc(); }) // .fixedSort(ID.asc()) // <4> .defaultSort(DESCRIPTION.asc()) // <5> .fixedFilter(ID.gt(0L)) // <6> .withQueryConfigurationProvider(() -> DESCRIPTION.isNotNull()) // <7> .build(); // end::listing9[] }
void operations() { Datastore datastore = getJpaDatastore(); PropertyBox value = PropertyBox.builder(Test.PROPERTIES).set(Test.PROPERTIES.property("id"), 1L) .set(Test.PROPERTIES.property("value"), "test").build(); // <3> datastore.save(Test.TARGET, value); List<PropertyBox> values = datastore.query(Test.TARGET).filter(Test.PROPERTIES.property("id").gt(0L)) .sort(Test.PROPERTIES.property("value").desc()).list(Test.PROPERTIES); // <4> } // end::beans1[]