/* * Copyright 2002-2009 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sf.json; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.sample.ObjectBean; /** * @author Andres Almiray <aalmiray@users.sourceforge.net> */ public final class PropertyConstants { private static final String ARRAY = "parray"; private static final String BEAN = "pbean"; private static final String BOOLEAN = "pboolean"; private static final String BYTE = "pbyte"; private static final String CHAR = "pchar"; private static final String CLASS = "pclass"; private static Map classes = new HashMap(); private static final String DOUBLE = "pdouble"; private static final String FLOAT = "pfloat"; private static final String FUNCTION = "pfunction"; private static final String INT = "pint"; private static final String LIST = "plist"; private static final String LONG = "plong"; private static final String SHORT = "pshort"; private static final String STRING = "pstring"; private static Map values = new HashMap(); static{ values.put( BYTE, new Byte( Byte.MAX_VALUE ) ); values.put( SHORT, new Short( Short.MAX_VALUE ) ); values.put( INT, new Integer( Integer.MAX_VALUE ) ); values.put( LONG, new Long( Long.MAX_VALUE ) ); values.put( FLOAT, new Float( Float.MAX_VALUE ) ); values.put( DOUBLE, new Double( Double.MAX_VALUE ) ); values.put( BOOLEAN, Boolean.TRUE ); values.put( CHAR, new Character( 'J' ) ); values.put( STRING, "json" ); values.put( FUNCTION, new JSONFunction( "this;" ) ); values.put( ARRAY, new int[] { 1, 2 } ); List list = new ArrayList(); list.add( "a" ); list.add( "b" ); values.put( LIST, list ); values.put( CLASS, Object.class ); values.put( BEAN, new ObjectBean() ); classes.put( BYTE, Byte.class ); classes.put( SHORT, Short.class ); classes.put( INT, Integer.class ); classes.put( LONG, Long.class ); classes.put( FLOAT, Float.class ); classes.put( DOUBLE, Double.class ); classes.put( BOOLEAN, Boolean.class ); classes.put( CHAR, Character.class ); classes.put( STRING, String.class ); classes.put( FUNCTION, JSONFunction.class ); classes.put( ARRAY, int[].class ); classes.put( LIST, List.class ); classes.put( CLASS, Class.class ); classes.put( BEAN, ObjectBean.class ); } public static String[] getProperties() { return new String[] { BYTE, SHORT, INT, LONG, FLOAT, DOUBLE, CHAR, BOOLEAN, STRING, FUNCTION, ARRAY, LIST, CLASS, BEAN }; } public static Class getPropertyClass( String key ) { return (Class) classes.get( key ); } public static Object getPropertyValue( String key ) { return values.get( key ); } }