public static Predicate fromBinary(byte[] buf) { return BinaryFormat.decode(buf); }
public static byte[] encode(Predicate predicate) { Objects.requireNonNull(predicate, "predicate"); Slime slime = new Slime(); encode(predicate, slime.setObject()); return com.yahoo.slime.BinaryFormat.encode(slime); }
public static Predicate decode(byte[] buf) { Objects.requireNonNull(buf, "buf"); Slime slime = com.yahoo.slime.BinaryFormat.decode(buf); return decode(slime.get()); }
@Override public void write(FieldBase field, PredicateFieldValue value) { byte[] buf = BinaryFormat.encode(value.getPredicate()); this.buf.putInt(buf.length); this.buf.put(buf); }
@Override public void read(FieldBase field, PredicateFieldValue value) { int len = getInt(null); byte[] buf = getBytes(null, len); value.assign(BinaryFormat.decode(buf)); }
@Override public void write(FieldBase field, PredicateFieldValue value) { byte[] buf = BinaryFormat.encode(value.getPredicate()); this.buf.putInt(buf.length); this.buf.put(buf); }
@Override public void read(FieldBase field, PredicateFieldValue value) { int len = getInt(null); byte[] buf = getBytes(null, len); value.assign(BinaryFormat.decode(buf)); }
out = out.setArray(CHILDREN); for (Predicate operand : ((Conjunction)predicate).getOperands()) { encode(operand, out.addObject()); out = out.setArray(CHILDREN); for (Predicate operand : ((Disjunction)predicate).getOperands()) { encode(operand, out.addObject()); out.setLong(NODE_TYPE, TYPE_NEGATION); out = out.setArray(CHILDREN); encode(((Negation)predicate).getOperand(), out.addObject()); } else if (predicate instanceof BooleanPredicate) { out.setLong(NODE_TYPE, ((BooleanPredicate)predicate).getValue() ? TYPE_TRUE : TYPE_FALSE);
in = in.field(CHILDREN); for (int i = 0, len = in.children(); i < len; ++i) { conjunction.addOperand(decode(in.entry(i))); in = in.field(CHILDREN); for (int i = 0, len = in.children(); i < len; ++i) { disjunction.addOperand(decode(in.entry(i))); return new Negation(decode(in.field(CHILDREN).entry(0)));