public static void assertPropertyOnly(ObjectFilter filter, final String message) { Visitor visitor = f -> { if (f instanceof OrgFilter) { if (message == null) { throw new IllegalArgumentException(f.toString()); } else { throw new IllegalArgumentException(message+": "+ f); } } }; filter.accept(visitor); }
public void addRequiredItems(ObjectFilter filter) { filter.accept(visitable -> { if (visitable instanceof ItemFilter) { requiredItems.add(((ItemFilter)visitable).getFullPath()); } }); }
public static void assertNotRaw(ObjectFilter filter, final String message) { Visitor visitor = f -> { if (f instanceof ValueFilter && ((ValueFilter) f).isRaw()) { if (message == null) { throw new IllegalArgumentException(f.toString()); } else { throw new IllegalArgumentException(message+": "+ f); } } }; filter.accept(visitor); }
@Override public void accept(Visitor visitor) { super.accept(visitor); for (ObjectFilter condition: getConditions()) { condition.accept(visitor); } }
public static void normalizeFilter(ObjectFilter filter, RelationRegistry relationRegistry) { if (filter != null) { filter.accept(f -> { if (f instanceof RefFilter) { emptyIfNull(((RefFilter) f).getValues()).forEach(v -> normalizeRelation(v, relationRegistry)); } }); } }
/** * Visit the query and normalize values (or set matching rules) as needed */ private void processQueryMatchingRules(ObjectQuery repoQuery, final RefinedObjectClassDefinition objectClassDef) { ObjectFilter filter = repoQuery.getFilter(); Visitor visitor = f -> { try { processQueryMatchingRuleFilter(f, objectClassDef); } catch (SchemaException e) { throw new SystemException(e); } }; filter.accept(visitor); }
public static boolean hasExpressions(@Nullable ObjectFilter filter) { if (filter == null) { return false; } Holder<Boolean> result = new Holder<>(false); filter.accept(f -> { if (f instanceof ValueFilter) { ValueFilter<?, ?> vf = (ValueFilter<?, ?>) f; if (vf.getExpression() != null) { result.setValue(true); } } }); return result.getValue(); }
public static boolean hasAllDefinitions(ObjectFilter filter) { final MutableBoolean hasAllDefinitions = new MutableBoolean(true); Visitor visitor = f -> { if (f instanceof ValueFilter) { ItemDefinition definition = ((ValueFilter<?,?>) f).getDefinition(); if (definition == null) { hasAllDefinitions.setValue(false); } } }; filter.accept(visitor); return hasAllDefinitions.booleanValue(); }
filter.accept(visitor); } catch (TunnelException te) { throw (SchemaException) te.getCause();