2222import com .fasterxml .jackson .databind .annotation .JsonSerialize ;
2323import com .fasterxml .jackson .databind .introspect .BeanPropertyDefinition ;
2424import com .fasterxml .jackson .databind .util .Annotations ;
25+ import com .google .common .annotations .Beta ;
2526import org .immutables .criteria .backend .PathNaming ;
2627import org .immutables .criteria .expression .Path ;
2728
3637import java .util .stream .Stream ;
3738
3839/**
39- * Leverages Jackson API (like {@link com.fasterxml.jackson.databind.SerializationConfig}) to construct
40- * a proper path.
40+ * Leverages Jackson Introspection API (like {@link com.fasterxml.jackson.databind.SerializationConfig}) to
41+ * derive correct names for each path element be it field or method.
42+ *
43+ * <p>This feature is experimental. The location of this class might change in future.</p>
4144 */
42- class JacksonPathNaming implements PathNaming {
45+ @ Beta
46+ public class JacksonPathNaming implements PathNaming {
4347private final ObjectMapper mapper ;
4448
4549public JacksonPathNaming (ObjectMapper mapper ) {
@@ -62,7 +66,7 @@ public String name(Path path) {
6266description =findImmutableClassDefinition (javaType );
6367 }
6468Optional <BeanPropertyDefinition >def =Stream .of (description )
65- .flatMap (x ->x .findProperties ().stream ())
69+ .flatMap (x ->x .findProperties ().stream ())
6670 .filter (x ->x .getPrimaryMember () !=null &&member .equals (x .getPrimaryMember ().getMember ()))
6771 .findAny ();
6872