Package com.networknt.schema
Enum PathType
- java.lang.Object
-
- java.lang.Enum<PathType>
-
- com.networknt.schema.PathType
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classPathType.JSONPath
-
Enum Constant Summary
Enum Constants Enum Constant Description JSON_PATHPaths as JSONPath expressions.JSON_POINTERPaths as JSONPointer expressions.LEGACYThe legacy approach, loosely based on JSONPath (but not guaranteed to give valid JSONPath expressions).URI_REFERENCEPaths as a URI reference.
-
Field Summary
Fields Modifier and Type Field Description private java.util.function.BiFunction<java.lang.String,java.lang.Integer,java.lang.String>appendIndexFnprivate java.util.function.BiFunction<java.lang.String,java.lang.String,java.lang.String>appendTokenFnstatic PathTypeDEFAULTThe default path generation approach to use.private java.lang.StringrootToken
-
Constructor Summary
Constructors Modifier Constructor Description privatePathType(java.lang.String rootToken, java.util.function.BiFunction<java.lang.String,java.lang.String,java.lang.String> appendTokenFn, java.util.function.BiFunction<java.lang.String,java.lang.Integer,java.lang.String> appendIndexFn)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringappend(java.lang.String currentPath, int index)Append the given index to the provided current path.java.lang.Stringappend(java.lang.String currentPath, java.lang.String child)Append the given child token to the provided current path.java.lang.StringconvertToJsonPointer(java.lang.String path)(package private) static java.lang.StringfromJsonPath(java.lang.String str)(package private) static java.lang.StringfromLegacy(java.lang.String path)java.lang.StringgetRoot()Return the representation of the document root.(package private) static intparseQuote(java.lang.StringBuilder sb, java.lang.String s, int pos)Parses a single-quoted string.(package private) static intparseSelector(java.lang.StringBuilder sb, java.lang.String s, int pos)Parses a JSONPath selector(package private) static intparseShorthand(java.lang.StringBuilder sb, java.lang.String s, int pos)Parses a JSONPath shorthand selectorprivate static java.lang.StringreplaceCommonSpecialCharactersIfPresent(java.lang.String token)Replace common special characters that are to be considered for all types of paths.static PathTypevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static PathType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
LEGACY
public static final PathType LEGACY
The legacy approach, loosely based on JSONPath (but not guaranteed to give valid JSONPath expressions).
-
JSON_PATH
public static final PathType JSON_PATH
Paths as JSONPath expressions.
-
JSON_POINTER
public static final PathType JSON_POINTER
Paths as JSONPointer expressions.
-
URI_REFERENCE
public static final PathType URI_REFERENCE
Paths as a URI reference.
-
-
Field Detail
-
DEFAULT
public static final PathType DEFAULT
The default path generation approach to use.
-
rootToken
private final java.lang.String rootToken
-
appendTokenFn
private final java.util.function.BiFunction<java.lang.String,java.lang.String,java.lang.String> appendTokenFn
-
appendIndexFn
private final java.util.function.BiFunction<java.lang.String,java.lang.Integer,java.lang.String> appendIndexFn
-
-
Constructor Detail
-
PathType
private PathType(java.lang.String rootToken, java.util.function.BiFunction<java.lang.String,java.lang.String,java.lang.String> appendTokenFn, java.util.function.BiFunction<java.lang.String,java.lang.Integer,java.lang.String> appendIndexFn)Constructor.- Parameters:
rootToken- The token representing the document root.appendTokenFn- A function used to define the path fragment used to append a token (e.g. property) to an existing path.appendIndexFn- A function used to append an index (for arrays) to an existing path.
-
-
Method Detail
-
values
public static PathType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (PathType c : PathType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static PathType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
replaceCommonSpecialCharactersIfPresent
private static java.lang.String replaceCommonSpecialCharactersIfPresent(java.lang.String token)
Replace common special characters that are to be considered for all types of paths.- Parameters:
token- The path token (property name or selector).- Returns:
- The token to use in the path.
-
append
public java.lang.String append(java.lang.String currentPath, java.lang.String child)Append the given child token to the provided current path.- Parameters:
currentPath- The path to append to.child- The child token.- Returns:
- The resulting complete path.
-
append
public java.lang.String append(java.lang.String currentPath, int index)Append the given index to the provided current path.- Parameters:
currentPath- The path to append to.index- The index to append.- Returns:
- The resulting complete path.
-
getRoot
public java.lang.String getRoot()
Return the representation of the document root.- Returns:
- The root token.
-
convertToJsonPointer
public java.lang.String convertToJsonPointer(java.lang.String path)
-
fromLegacy
static java.lang.String fromLegacy(java.lang.String path)
-
fromJsonPath
static java.lang.String fromJsonPath(java.lang.String str)
-
parseShorthand
static int parseShorthand(java.lang.StringBuilder sb, java.lang.String s, int pos)Parses a JSONPath shorthand selector- Parameters:
sb- receives the results- the source stringpos- the index into s immediately following the dot- Returns:
- the index following the selector name
-
parseSelector
static int parseSelector(java.lang.StringBuilder sb, java.lang.String s, int pos)Parses a JSONPath selector- Parameters:
sb- receives the results- the source stringpos- the index into s immediately following the open bracket- Returns:
- the index following the closing bracket
-
parseQuote
static int parseQuote(java.lang.StringBuilder sb, java.lang.String s, int pos)Parses a single-quoted string.- Parameters:
sb- receives the results- the source stringpos- the index into s immediately following the open quote- Returns:
- the index following the closing quote
-
-