/** * Create a new {@link PathPropertyBoxAdapter}. * @param propertyBox The {@link PropertyBox} set to use (not null) * @return A new {@link PathPropertyBoxAdapter} */ static PathPropertyBoxAdapter create(PropertyBox propertyBox) { return builder(propertyBox).build(); }
/** * Decode a document into a {@link PropertyBox} value using given property set. * @param context Resolution context * @param parent Optional parent field name expression * @param document Document to decode * @return Decoded PropertyBox instance * @throws InvalidExpressionException If an error occurred */ private static PropertyBox decodePropertyBox(final MongoDocumentContext<?> context, final String parent, Map<String, Object> document) throws InvalidExpressionException { // PropertyBox builder final PropertyBox propertyBox = PropertyBox.builder(context.getPropertySet()).invalidAllowed(true).build(); // Adapter final PathPropertyBoxAdapter adapter = PathPropertyBoxAdapter.builder(propertyBox) .pathMatcher(DocumentPathMatcher.INSTANCE).build(); // decode decodeDocument(context, parent, document, propertyBox, adapter); return propertyBox; }