All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minidev.json.actions.path.PathDelimiter Maven / Gradle / Ivy

Go to download

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

There is a newer version: 2.5.1
Show newest version
package net.minidev.json.actions.path;

/**
 * Encapsulates the delimiter of the path parts when given in n-gram format.
 *
 * @author [email protected]
 * @since 31 May 2016
 */
public abstract class PathDelimiter {
	protected char delimChar;
	protected String delimStr;
	protected boolean acceptDelimInKey;

	public PathDelimiter(char delim) {
		this.delimChar = delim;
		this.delimStr = String.valueOf(delim);
	}

	public PathDelimiter withAcceptDelimiterInNodeName(boolean acceptDelimInKey) {
		this.acceptDelimInKey = acceptDelimInKey;
		return this;
	}

	public boolean accept(String key) {
		if (!acceptDelimInKey && key.contains(delimStr))
			return false;
		return true;
	}

	public String str() {
		return delimStr;
	}

	public char chr() {
		return delimChar;
	}

	public abstract String regex();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy