1 33 package net.sf.jga.fn.string; 34 35 import java.text.DateFormat ; 36 import java.text.Format ; 37 import java.text.MessageFormat ; 38 import java.text.NumberFormat ; 39 import java.util.Date ; 40 import java.util.regex.Pattern ; 41 import net.sf.jga.fn.UnaryFunctor; 42 43 49 50 public final class StringFunctors { 51 55 static public <T> UnaryFunctor<T,String > defaultFormat() { 56 return new DefaultFormat<T>(); 57 } 58 59 60 63 static public UnaryFunctor<Object [],String > formatValue(MessageFormat format) { 64 return new FormatValue<Object []>(format); 65 } 66 67 68 71 static public <T extends Date > UnaryFunctor<T,String > formatValue(DateFormat format) { 72 return new FormatValue<T>(format); 73 } 74 75 76 79 static public <T extends Number > UnaryFunctor<T,String > formatValue(NumberFormat format) { 80 return new FormatValue<T>(format); 81 } 82 83 84 87 static public UnaryFunctor<String ,Boolean > match(String regex) { 88 return new Match(regex); 89 } 90 91 92 95 static public UnaryFunctor<String ,Boolean > match(Pattern pattern) { 96 return new Match(pattern); 97 } 98 99 100 104 static public <R> UnaryFunctor<String ,R> 105 parseFormat(Format format, UnaryFunctor<Object ,R> converter) 106 { 107 return new ParseFormat<R>(format, converter); 108 } 109 110 111 115 static public <R extends Date > UnaryFunctor<String ,R> 116 parseFormat(Class <R> dateClass, DateFormat format) 117 { 118 return new ParseFormat.Date<R>(dateClass, format); 119 } 120 121 122 126 static public <R extends Number > UnaryFunctor<String ,R> 127 parseFormat(Class <R> numClass,NumberFormat format) 128 { 129 return new ParseFormat.Number<R>(numClass, format); 130 } 131 } 132 | Popular Tags |