diff --git a/bosk-bson/src/main/java/works/bosk/bson/BsonFormatter.java b/bosk-bson/src/main/java/works/bosk/bson/BsonFormatter.java index 9b36c529..33c45cc2 100644 --- a/bosk-bson/src/main/java/works/bosk/bson/BsonFormatter.java +++ b/bosk-bson/src/main/java/works/bosk/bson/BsonFormatter.java @@ -291,6 +291,15 @@ public enum DocumentFields { /** * The location of this document's state within the conceptual giant document. * A pipe-separated list of BSON field names. + * + *
+ * We put the whole path in _id so that it will be present in change stream documents.
+ */
+ _id,
+
+ /**
+ * The {@link Path#urlEncoded() url encoded} {@link Path path} of the location of
+ * this document's state within the bosk tree.
*/
path,
diff --git a/bosk-bson/src/main/java/works/bosk/bson/BsonSurgeon.java b/bosk-bson/src/main/java/works/bosk/bson/BsonSurgeon.java
index eb9a5b71..6ab596b2 100644
--- a/bosk-bson/src/main/java/works/bosk/bson/BsonSurgeon.java
+++ b/bosk-bson/src/main/java/works/bosk/bson/BsonSurgeon.java
@@ -68,10 +68,7 @@ public GraftPoint boundTo(Identifier id) {
}
}
- /**
- * We put the whole path in _id so that it will be present in change stream documents
- */
- private static final String BSON_PATH_FIELD = "_id";
+ private static final String BSON_PATH_FIELD = DocumentFields._id.name();
private static final String STATE_FIELD = DocumentFields.state.name();
@@ -197,7 +194,8 @@ private static BsonDocument lookup(BsonDocument entireDoc, List
* partsList
is a list of "instructions" for assembling a larger document.
- * Each part contains a {@link DocumentFields#path path} field containing a {@link BsonFormatter#docBsonPath BSON path}
+ * Each part contains a {@link DocumentFields#_id _id} field containing
+ * a {@link BsonFormatter#docBsonPath BSON path}
* that indicates where that part fits into the larger document;
* and a {@link DocumentFields#state state} field with the contents of the part.
*