Filters { public static <T> T gets(String text, Class<T> TYPE) throws Throwable { if (text == null) { return null; } if (TYPE == String.class) { return TYPE.cast(text); } if (TYPE == Integer.class) { return TYPE.cast(Integer.decode(text)); } if (TYPE == Double.class) { return TYPE.cast(Double.valueOf(text)); } if (TYPE == Number.class) { try { return TYPE.cast(Double.valueOf(text)); } catch (NumberFormatException ignore) { } return TYPE.cast(Integer.decode(text)); } if (TYPE == Color.class) { return TYPE.cast(new Color(Integer.decode(text).intValue())); } Object value = Converters.convert(text, TYPE); if (value != null) { return TYPE.cast(value); } try { Constructor<T> create = TYPE.getConstructor(new Class[] { String.class }); return create.newInstance(new Object[] { text }); } catch (SecurityException e) { } catch (NoSuchMethodException e) { } catch (IllegalArgumentException e) { } catch (InstantiationException e) { } catch (IllegalAccessException e) { } catch (InvocationTargetException e) { throw e.getCause(); } return null; } Filters();  Filters(org.opengis.filter.FilterFactory2 factory); void setFilterFactory(org.opengis.filter.FilterFactory2 factory); static Filter and( org.opengis.filter.FilterFactory ff, Filter filter1, Filter filter2 ); static Filter or( org.opengis.filter.FilterFactory ff, Filter filter1, Filter filter2 ); Filter duplicate( Filter filter ); static short getExpressionType( org.opengis.filter.expression.Expression experssion ); static short getFilterType( org.opengis.filter.Filter filter ); static int asInt( Expression expr ); static String asString(Expression expr); static double asDouble(Expression expr); static T asType(Expression expr, Class<T> TYPE); static double number(Object value); static T gets(String text, Class<T> TYPE); static String puts(double number); static String puts(Object obj); static String puts(Color color); Filter remove(Filter baseFilter, Filter targetFilter); static Filter removeFilter( Filter baseFilter, Filter targetFilter ); Filter remove(Filter baseFilter, final Filter targetFilter, boolean recurse); static Filter removeFilter(Filter baseFilter, Filter targetFilter, boolean recurse); Set<String> attributeNames( Filter filter ); static String[] attributeNames(Filter filter, final SimpleFeatureType featureType); static Set<PropertyName> propertyNames(Filter filter, final SimpleFeatureType featureType); static Set<PropertyName> propertyNames(Filter filter); static Set<PropertyName> propertyNames(Expression expression,
            final SimpleFeatureType featureType); static Set<PropertyName> propertyNames(Expression expression); static boolean hasChildren( Filter filter ); static ArrayList<Filter> children( Filter filter ); static ArrayList<Filter> children( Filter filter, boolean all ); static T search(Filter filter, Class<T> filterType, String propertyName ); static String findPropertyName(Filter filter); static final int NOTFOUND; }
@Test public void testGets() throws Throwable { assertEquals(new Long(1l), Filters.gets("1.0", Long.class)); }