@Override public Void visit(KVBoolean value, Arg arg) { preKVValue(value, arg); preBoolean(value, arg); postBoolean(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVNull value, Arg arg) { preKVValue(value, arg); preNull(value, arg); postNull(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVInteger value, Arg arg) { preKVValue(value, arg); preInt(value, arg); postInt(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVDouble value, Arg arg) { preKVValue(value, arg); preDouble(value, arg); postDouble(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVString value, Arg arg) { preKVValue(value, arg); preString(value, arg); postString(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVMongoObjectId value, Arg arg) { preKVValue(value, arg); preMongoObjectId(value, arg); postMongoObjectId(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVDate value, Arg arg) { preKVValue(value, arg); preDate(value, arg); postDate(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVTime value, Arg arg) { preKVValue(value, arg); preTime(value, arg); postTime(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVLong value, Arg arg) { preKVValue(value, arg); preLong(value, arg); postLong(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVInstant value, Arg arg) { preKVValue(value, arg); preDateTime(value, arg); postDateTime(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVBinary value, Arg arg) { preKVValue(value, arg); preBinary(value, arg); postBinary(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVMongoTimestamp value, Arg arg) { preKVValue(value, arg); preMongoTimestamp(value, arg); postMongoTimestamp(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVArray value, Arg arg) { preKVValue(value, arg); preArray(value, arg); for (KVValue<?> element : value) { element.accept(this, arg); } postArray(value, arg); postKVValue(value, arg); return null; }
@Override public Void visit(KVDocument value, Arg arg) { preKVValue(value, arg); preDoc(value, arg); for (DocEntry<?> entry : value) { entry.getValue().accept(this, arg); } postDoc(value, arg); postKVValue(value, arg); return null; }