001package org.javasimon.console.text; 002 003/** 004 * Stringifier with particular meaning: do not stringify this value. 005 * @author gquintana 006 */ 007public class NoneStringifier<T> implements Stringifier<T> { 008 private NoneStringifier() { 009 } 010 public String toString(T value) { 011 throw new UnsupportedOperationException("Do not stringify"); 012 } 013 private static final NoneStringifier INSTANCE=new NoneStringifier(); 014 /** 015 * Get unique instance of the NoneStringifier 016 */ 017 public static <T> NoneStringifier<T> getInstance() { 018 return (NoneStringifier<T>) INSTANCE; 019 } 020 /** 021 * Check whether stringifier is the NoneStringifier 022 * @param stringifier Stringifier to compare with NoneStringifier 023 * @return null when stringifier==NoneStringifier, else given stringifier 024 */ 025 public static <T> Stringifier<T> checkInstance(Stringifier<T> stringifier) { 026 return INSTANCE==stringifier?null:stringifier; 027 } 028}