/** * Calls accept on the static operand in the suggest search constraint. */ @Override public boolean visit(SuggestImpl node) { node.getExpression().accept(this); return true; }
@Override public void restrictPushDown(SelectorImpl s) { if (operand2.currentValue() != null) { if (operand1.canRestrictSelector(s)) { s.restrictSelector(this); } } }
@Override public void restrict(FilterImpl f) { ArrayList<PropertyValue> list = new ArrayList<PropertyValue>(); for (StaticOperandImpl s : operand2) { if (!ValueConverter.canConvert( s.getPropertyType(), operand1.getPropertyType())) { throw new IllegalArgumentException( "Unsupported conversion from property type " + PropertyType.nameFromValue(s.getPropertyType()) + " to property type " + PropertyType.nameFromValue(operand1.getPropertyType())); } list.add(s.currentValue()); } if (list != null) { operand1.restrictList(f, list); } }
@Override public void restrictPushDown(SelectorImpl s) { for (StaticOperandImpl op : operand2) { if (op.currentValue() == null) { // one unknown value means it is not pushed down return; } } if (operand1.canRestrictSelector(s)) { s.restrictSelector(this); } }
@Override public void restrict(FilterImpl f) { ArrayList<PropertyValue> list = new ArrayList<PropertyValue>(); for (StaticOperandImpl s : operand2) { if (!ValueConverter.canConvert( s.getPropertyType(), operand1.getPropertyType())) { throw new IllegalArgumentException( "Unsupported conversion from property type " + PropertyType.nameFromValue(s.getPropertyType()) + " to property type " + PropertyType.nameFromValue(operand1.getPropertyType())); } list.add(s.currentValue()); } if (list != null) { operand1.restrictList(f, list); } }
/** * Calls accept on the static operand in the fulltext search constraint. */ @Override public boolean visit(FullTextSearchImpl node) { node.getFullTextSearchExpression().accept(this); return true; }
@Override public void restrictPushDown(SelectorImpl s) { if (operand2.currentValue() != null) { if (operand1.canRestrictSelector(s)) { s.restrictSelector(this); } } }
@Override public void restrict(FilterImpl f) { ArrayList<PropertyValue> list = new ArrayList<PropertyValue>(); for (StaticOperandImpl s : operand2) { if (!ValueConverter.canConvert( s.getPropertyType(), operand1.getPropertyType())) { throw new IllegalArgumentException( "Unsupported conversion from property type " + PropertyType.nameFromValue(s.getPropertyType()) + " to property type " + PropertyType.nameFromValue(operand1.getPropertyType())); } list.add(s.currentValue()); } if (list != null) { operand1.restrictList(f, list); } }
/** * Calls accept on the static operand in the spellcheck search constraint. */ @Override public boolean visit(SpellcheckImpl node) { node.getExpression().accept(this); return true; }
@Override public void restrictPushDown(SelectorImpl s) { for (StaticOperandImpl op : operand2) { if (op.currentValue() == null) { // one unknown value means it is not pushed down return; } } if (operand1.canRestrictSelector(s)) { s.restrictSelector(this); } }
@Override public void restrict(FilterImpl f) { PropertyValue v = operand2.currentValue(); if (!ValueConverter.canConvert( operand2.getPropertyType(), operand1.getPropertyType())) { throw new IllegalArgumentException( "Unsupported conversion from property type " + PropertyType.nameFromValue(operand2.getPropertyType()) + " to property type " + PropertyType.nameFromValue(operand1.getPropertyType()));
/** * Calls accept on the static operand in the similar search constraint. */ @Override public boolean visit(SimilarImpl node) { node.getPathExpression().accept(this); return true; }
@Override public void restrictPushDown(SelectorImpl s) { if (operand2.currentValue() != null) { if (operand1.canRestrictSelector(s)) { s.restrictSelector(this); } } }
@Override public void restrict(FilterImpl f) { PropertyValue v = operand2.currentValue(); if (!ValueConverter.canConvert( operand2.getPropertyType(), operand1.getPropertyType())) { throw new IllegalArgumentException( "Unsupported conversion from property type " + PropertyType.nameFromValue(operand2.getPropertyType()) + " to property type " + PropertyType.nameFromValue(operand1.getPropertyType()));
/** * Calls accept on the static operand in the suggest search constraint. */ @Override public boolean visit(SuggestImpl node) { node.getExpression().accept(this); return true; }
@Override public void restrictPushDown(SelectorImpl s) { for (StaticOperandImpl op : operand2) { if (op.currentValue() == null) { // one unknown value means it is not pushed down return; } } if (operand1.canRestrictSelector(s)) { s.restrictSelector(this); } }
@Override public void restrict(FilterImpl f) { PropertyValue v = operand2.currentValue(); if (!ValueConverter.canConvert( operand2.getPropertyType(), operand1.getPropertyType())) { throw new IllegalArgumentException( "Unsupported conversion from property type " + PropertyType.nameFromValue(operand2.getPropertyType()) + " to property type " + PropertyType.nameFromValue(operand1.getPropertyType()));
/** * Calls accept on the static operand in the native search constraint. */ @Override public boolean visit(NativeFunctionImpl node) { node.getNativeSearchExpression().accept(this); return true; }
@Override public void restrict(FilterImpl f) { f.restrictFulltextCondition(fullTextSearchExpression.currentValue().getValue(Type.STRING)); }
/** * Calls accept on the static operand in the fulltext search constraint. */ @Override public boolean visit(FullTextSearchImpl node) { node.getFullTextSearchExpression().accept(this); return true; }