@Override public final String toString() { StringBuilder out = new StringBuilder(); appendTo(out); return out.toString(); }
protected static void appendQuotedTo(String str, StringBuilder out) { String encoded = asciiEncode(str); if (requiresQuote(encoded)) { out.append(QUOTE_CHAR).append(encoded).append(QUOTE_CHAR); } else { out.append(str); } }
public PredicateFieldValue(String predicateString) { this(Predicate.fromString(predicateString)); }
@Override public Conjunction clone() throws CloneNotSupportedException { Conjunction obj = (Conjunction)super.clone(); obj.operands = new ArrayList<>(operands.size()); for (Predicate operand : operands) { obj.operands.add(operand.clone()); } return obj; }
@Override public void read(FieldBase field, PredicateFieldValue value) { try { if (isBase64EncodedElement(reader)) { value.assign(Predicate.fromBinary(new Base64().decode(reader.getElementText()))); } else { value.assign(Predicate.fromString(reader.getElementText())); } } catch (XMLStreamException e) { throw newException(field, e); } }
@Override public void printXml(XmlStream xml) { if (predicate == null) { return; } xml.addContent(predicate.toString()); }
setText(Predicate.asciiDecode(getText().substring(1, getText().length() - 1)));
@Override public Disjunction clone() throws CloneNotSupportedException { Disjunction obj = (Disjunction)super.clone(); obj.operands = new ArrayList<>(operands.size()); for (Predicate operand : operands) { obj.operands.add(operand.clone()); } return obj; }
@Override public PredicateFieldValue clone() { PredicateFieldValue obj = (PredicateFieldValue)super.clone(); if (predicate != null) { try { obj.predicate = predicate.clone(); } catch (CloneNotSupportedException e) { throw new AssertionError(e); } } return obj; }
@Override protected void appendTo(StringBuilder out) { for (Iterator<Predicate> it = operands.iterator(); it.hasNext(); ) { Predicate operand = it.next(); if (operand instanceof Disjunction) { out.append('('); operand.appendTo(out); out.append(')'); } else { operand.appendTo(out); } if (it.hasNext()) { out.append(" conj "); } } }
@Override public Negation clone() throws CloneNotSupportedException { Negation obj = (Negation)super.clone(); obj.operand = operand.clone(); return obj; }
@Override protected void appendTo(StringBuilder out) { for (Iterator<Predicate> it = operands.iterator(); it.hasNext(); ) { Predicate operand = it.next(); if (operand instanceof Disjunction || operand instanceof FeatureConjunction) { out.append('('); operand.appendTo(out); out.append(')'); } else { operand.appendTo(out); } if (it.hasNext()) { out.append(" and "); } } }
@Override protected void appendTo(StringBuilder out) { for (Iterator<Predicate> it = operands.iterator(); it.hasNext(); ) { Predicate operand = it.next(); if (operand instanceof Conjunction) { out.append('('); operand.appendTo(out); out.append(')'); } else { operand.appendTo(out); } if (it.hasNext()) { out.append(" or "); } } }
@Override protected void appendTo(StringBuilder out) { if (operand instanceof FeatureSet) { ((FeatureSet)operand).appendNegatedTo(out); } else { out.append("not ("); operand.appendTo(out); out.append(')'); } }