try
{
EntityMap entityMap = new EntityMapImpl();
entityMap.putEntity("num", 123);
entityMap.putEntity("bean",
new BeanA("bean",
100)
Filter filter = MoqlUtils.createFilter("num = 123");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("num < 160");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.num > 0 ");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("num <> 123");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("num >= 123");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("num <= 100");
System.out.println(filter.isMatch(entityMap));
// between..and
filter = MoqlUtils.createFilter("bean.num between 0 and 200");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.num between 0 and 100");
System.out.println(filter.isMatch(entityMap));
// like
filter = MoqlUtils.createFilter("bean.name like '%ean'");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.name like '%ea.'");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.name like '%e%'");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.name like '%c%'");
System.out.println(filter.isMatch(entityMap));
// in
filter = MoqlUtils.createFilter("bean.name in ('Abean', 'Bbean')");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.name in ('Cbean', 'Bbean')");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("50 in (bean.getArray())");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("150 in (bean.getArray())");
System.out.println(filter.isMatch(entityMap));
// is
filter = MoqlUtils.createFilter("bean.name is null");
System.out.println(filter.isMatch(entityMap));
filter = MoqlUtils.createFilter("bean.name is not null");
System.out.println(filter.isMatch(entityMap));
}
catch (MoqlException e) {
e.printStackTrace();
}
|