QuerySupport { public static DeferredStringColumn stringColumn(String columnName) { return new DeferredStringColumn(columnName); }  static Function<Table, Selection> not(Function<Table, Selection> deferredSelection); static Function<Table, Selection> neither(
      Function<Table, Selection> sel1, Function<Table, Selection> sel2); static Function<Table, Selection> notBoth(
      Function<Table, Selection> sel1, Function<Table, Selection> sel2); @SafeVarargs static Function<Table, Selection> notAny(
      Function<Table, Selection>... deferredSelections); @SafeVarargs static Function<Table, Selection> notAll(
      Function<Table, Selection>... deferredSelections); @SafeVarargs static Function<Table, Selection> and(Function<Table, Selection>... deferredSelections); @SafeVarargs static Function<Table, Selection> all(Function<Table, Selection>... deferredSelections); static Function<Table, Selection> both(
      Function<Table, Selection> sel1, Function<Table, Selection> sel2); @SafeVarargs static Function<Table, Selection> or(Function<Table, Selection>... deferredSelections); @SafeVarargs static Function<Table, Selection> any(Function<Table, Selection>... deferredSelections); static Function<Table, Selection> either(
      Function<Table, Selection> sel1, Function<Table, Selection> sel2); static DeferredColumn column(String columnName); static DeferredColumn col(String columnName); static DeferredBooleanColumn booleanColumn(String columnName); static DeferredBooleanColumn bool(String columnName); static DeferredStringColumn stringColumn(String columnName); static DeferredStringColumn str(String columnName); static DeferredTextColumn text(String columnName); static DeferredTextColumn textColumn(String columnName); static DeferredNumberColumn numberColumn(String columnName); static DeferredNumberColumn num(String columnName); static DeferredDateColumn dateColumn(String columnName); static DeferredDateColumn date(String columnName); static DeferredDateTimeColumn dateTimeColumn(String columnName); static DeferredDateTimeColumn dateTime(String columnName); static DeferredInstantColumn instantColumn(String columnName); static DeferredTimeColumn timeColumn(String columnName); static DeferredTimeColumn time(String columnName);  }
@Test public void test3() { Table result = t.where(stringColumn("who").isIn("fox")); assertEquals("fox", result.getString(0, "who")); result = t.where(stringColumn("who").isNotIn("fox", "zogby")); assertFalse(result.getString(0, "who").startsWith("f")); }
@Test public void test2() { Table result = t.where(stringColumn("who").startsWith("f")); assertTrue(result.getString(0, "who").startsWith("f")); }