001package org.javasimon.console.json; 002 003import java.io.IOException; 004import java.io.Writer; 005 006import org.javasimon.console.text.Stringifier; 007 008/** 009 * JavaScript simple type. 010 * 011 * @author gquintana 012 */ 013public class SimpleJS<T> extends AnyJS { 014 015 /** Simple value. */ 016 protected final T value; 017 018 /** Value formatter. */ 019 private final Stringifier<T> valueStringifier; 020 021 /** Hidden constructor use factory methods instead. */ 022 public SimpleJS(T value, Stringifier<T> valueStringifier) { 023 this.value = value; 024 this.valueStringifier = valueStringifier; 025 } 026 027 public T getValue() { 028 return value; 029 } 030 031 @Override 032 public void write(Writer writer) throws IOException { 033 writer.write(valueStringifier.toString(value)); 034 } 035}