@Override public Void visit(ScalarArray value, Arg arg) { preDefaultValue(value, arg); preArrayValue(value, arg); for (ScalarValue<?> e : value) { e.accept(this, arg); } postArrayValue(value, arg); postDefaultValue(value, arg); return null; }
@Override public Void visit(ScalarMongoObjectId value, Arg arg) { preDefaultValue(value, arg); preMongoObjectIdValue(value, arg); postMongoObjectIdValue(value, arg); postDefaultValue(value, arg); return null; }
@Override public Void visit(ScalarInstant value, Arg arg) { preDefaultValue(value, arg); preInstantValue(value, arg); postInstantValue(value, arg); postDefaultValue(value, arg); return null; }
@Override public String toString() { return "ScalarBinary[subtype= " + getSubtype() + "(" + getCategory() + "), size= " + size() +"]"; }
@Override public byte[] to(ScalarMongoObjectId userObject) { return userObject.getArrayValue(); }
@Override public KVValue<?> visit(ScalarBoolean value, Void arg) { if (value.getValue()) { return KVBoolean.TRUE; } return KVBoolean.FALSE; }
@Override public Void visit(ScalarDate value, Arg arg) { preDefaultValue(value, arg); preDateValue(value, arg); postDateValue(value, arg); postDefaultValue(value, arg); return null; }
@Override public Void visit(ScalarTime value, Arg arg) { preDefaultValue(value, arg); preTimeValue(value, arg); postTimeValue(value, arg); postDefaultValue(value, arg); return null; }
@Override public Void visit(ScalarInteger value, Arg arg) { preDefaultValue(value, arg); preInt(value, arg); postInt(value, arg); postDefaultValue(value, arg); return null; }
private Object readResolve() { return ScalarNull.getInstance(); } }
@Override public ScalarBoolean from(Boolean databaseObject) { return ScalarBoolean.from(databaseObject); }
@Override public int intValue() { return (int) longValue(); }
@Override public <Result, Arg> Result accept(ScalarValueVisitor<Result, Arg> visitor, Arg arg) { return visitor.visit(this, arg); }
@Override public long longValue() { return intValue(); }
@Override public ScalarValue<?> visit(KVNull value, Void arg) { return ScalarNull.getInstance(); }
@Override public <Result, Arg> Result accept(ScalarValueVisitor<Result, Arg> visitor, Arg arg) { return visitor.visit(this, arg); }
@Override public int hashCode() { return intValue(); }
@Override public <Result, Arg> Result accept(ScalarValueVisitor<Result, Arg> visitor, Arg arg) { return visitor.visit(this, arg); }
@Override public <Result, Arg> Result accept(ScalarValueVisitor<Result, Arg> visitor, Arg arg) { return visitor.visit(this, arg); }