/** * Build a list of token resolvers from a list of reference tokens * * <p>Here, the token resolvers are {@link JsonNodeResolver}s.</p> * * @param tokens the token list * @return a (mutable) list of token resolvers */ private static List<TokenResolver<JsonNode>> fromTokens( final List<ReferenceToken> tokens) { final List<TokenResolver<JsonNode>> list = Lists.newArrayList(); for (final ReferenceToken token: tokens) list.add(new JsonNodeResolver(token)); return list; } }
@Override public JsonNode get(final JsonNode node) { if (node == null || !node.isContainerNode()) return null; final String raw = token.getRaw(); return node.isObject() ? node.get(raw) : node.get(arrayIndexFor(raw)); }
@Override public JsonNode get(final JsonNode node) { if (node == null || !node.isContainerNode()) return null; final String raw = token.getRaw(); return node.isObject() ? node.get(raw) : node.get(arrayIndexFor(raw)); }
/** * Build a list of token resolvers from a list of reference tokens * * <p>Here, the token resolvers are {@link JsonNodeResolver}s.</p> * * @param tokens the token list * @return a (mutable) list of token resolvers */ private static List<TokenResolver<JsonNode>> fromTokens( final List<ReferenceToken> tokens) { final List<TokenResolver<JsonNode>> list = Lists.newArrayList(); for (final ReferenceToken token: tokens) list.add(new JsonNodeResolver(token)); return list; } }
/** * Return a new pointer with a new token appended * * @param raw the raw token to append * @return a new pointer * @throws NullPointerException input is null */ public JsonPointer append(final String raw) { final ReferenceToken refToken = ReferenceToken.fromRaw(raw); final JsonNodeResolver resolver = new JsonNodeResolver(refToken); final List<TokenResolver<JsonNode>> list = Lists.newArrayList(tokenResolvers); list.add(resolver); return new JsonPointer(list); }
/** * Return a new pointer with a new token appended * * @param raw the raw token to append * @return a new pointer * @throws NullPointerException input is null */ public JsonPointer append(final String raw) { final ReferenceToken refToken = ReferenceToken.fromRaw(raw); final JsonNodeResolver resolver = new JsonNodeResolver(refToken); final List<TokenResolver<JsonNode>> list = Lists.newArrayList(tokenResolvers); list.add(resolver); return new JsonPointer(list); }