LocalTime range query with ObjectBox

Viewed 40

Would this work with ObjectBox?

class Hub {
    List<Schedule> schedules; 
}
class Schedule {
    String day;
    LocalTime opens;
    LocalTime closes;
}

And then query those Hubs which opens and closes during a specific day, say, query with this constraint:

new Schedule().builder()
    .day("Monday")
    .opens(LocalTime.parse("08:00")
    .close(LocalTime.parse("17:00").build();

So in this case we want to query for Hubs that are open on Mondays at 8am to 5pm.
How does this translate to Objectbox Query?

1 Answers

You can map LocalTime to a supported type like Integer, see https://docs.objectbox.io/advanced/custom-types. Then you can build a query with a less and greater condition on that Integer property.

Quick example:

box.query()
    .equal(Schedule_.day, "Monday")
    .greater(Schedule_.opens, 800 - 1)
    .less(Schedule_.closes, 1700 + 1);
Related