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

org.javasimon.console.text.BaseStringifier Maven / Gradle / Ivy

There is a newer version: 4.2.0
Show newest version
package org.javasimon.console.text;

/**
 * Basic value formatter.
 * Handles null value delegating to a null Stringifier.
 *
 * @param  Input type
 * @author gquintana
 */
public class BaseStringifier implements Stringifier {

	/** Stringifier to handle null values. */
	private final Stringifier nullStringifier;

	/**
	 * Constructor.
	 *
	 * @param nullStringifier Stringifier to handle null values
	 */
	public BaseStringifier(Stringifier nullStringifier) {
		this.nullStringifier = nullStringifier;
	}

	/**
	 * Check whether input value should be considered as null
	 *
	 * @param object Input value
	 * @return Null-style
	 */
	protected boolean isValid(T object) {
		return object != null;
	}

	@Override
	public final String toString(T object) {
		return isValid(object) ? doToString(object) : nullToString();
	}

	/** Converts null input value to string. */
	@SuppressWarnings("unchecked")
	protected final String nullToString() {
		return nullStringifier.toString(null);
	}

	/** Converts not null input value to string. */
	protected String doToString(T object) {
		return object.toString();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy