static Filter getPropertyStringFilter(String name, FilterOption option, String value) { switch (option) { case EQ: return new PropertyStringEqFilter(name, value); case GT: return new PropertyStringGtFilter(name, value); case GT_EQ: return new PropertyStringGtEqFilter(name, value); case LT: return new PropertyStringLtFilter(name, value); case LT_EQ: return new PropertyStringLtEqFilter(name, value); case IN: return new PropertyStringInFilter(name, value); default: throw new IllegalArgumentException(); } }
AbstractPropertyFilter getPropertyStringFilter(String name, FilterOption option, String value) { switch (option) { case EQ: return new PropertyStringEqFilter(name, value); case GT: return new PropertyStringGtFilter(name, value); case GT_EQ: return new PropertyStringGtEqFilter(name, value); case LT: return new PropertyStringLtFilter(name, value); case LT_EQ: return new PropertyStringLtEqFilter(name, value); case IN: return new PropertyStringInFilter(name, value); default: throw new IllegalArgumentException(); } }
/** * 動作確認. * @author vvakame */ @Test public void find_string_PROPERTY_GT_EQ_single_filter() { { Entity entity = new Entity("hoge", "piyo1"); entity.setProperty("key", "value1"); kvs.put(entity); } { Entity entity = new Entity("hoge", "piyo2"); entity.setProperty("key", "value2"); kvs.put(entity); } { Entity entity = new Entity("hoge", "piyo3"); entity.setProperty("key", "value3"); kvs.put(entity); } List<Entity> list = kvs.find(new PropertyStringGtEqFilter("key", "value2")); assertThat(list.size(), is(2)); Key key1 = KeyUtil.createKey("hoge", "piyo2"); Key key2 = KeyUtil.createKey("hoge", "piyo3"); assertThat(list.get(0).getKey(), isOneOf(key1, key2)); assertThat(list.get(1).getKey(), isOneOf(key1, key2)); }