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

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

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