package ecologylab.serialization.types;
import java.io.File;
import java.lang.reflect.Field;
import java.net.URL;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.UUID;
import java.util.regex.Pattern;
import ecologylab.collections.Scope;
import ecologylab.generic.HashMapArrayList;
import ecologylab.net.ParsedURL;
import ecologylab.serialization.types.scalar.BinaryDataType;
import ecologylab.serialization.types.scalar.BooleanType;
import ecologylab.serialization.types.scalar.ByteType;
import ecologylab.serialization.types.scalar.CharType;
import ecologylab.serialization.types.scalar.ClassType;
import ecologylab.serialization.types.scalar.CollectionTypeType;
import ecologylab.serialization.types.scalar.CompositeAsScalarType;
import ecologylab.serialization.types.scalar.DateType;
import ecologylab.serialization.types.scalar.DoubleType;
import ecologylab.serialization.types.scalar.EnumeratedType;
import ecologylab.serialization.types.scalar.FieldType;
import ecologylab.serialization.types.scalar.FileType;
import ecologylab.serialization.types.scalar.FloatType;
import ecologylab.serialization.types.scalar.IntType;
import ecologylab.serialization.types.scalar.LongType;
import ecologylab.serialization.types.scalar.ParsedURLType;
import ecologylab.serialization.types.scalar.PatternType;
import ecologylab.serialization.types.scalar.ReferenceBooleanType;
import ecologylab.serialization.types.scalar.ReferenceDoubleType;
import ecologylab.serialization.types.scalar.ReferenceFloatType;
import ecologylab.serialization.types.scalar.ReferenceIntegerType;
import ecologylab.serialization.types.scalar.ReferenceLongType;
import ecologylab.serialization.types.scalar.ScalarTypeType;
import ecologylab.serialization.types.scalar.ShortType;
import ecologylab.serialization.types.scalar.StringBuilderType;
import ecologylab.serialization.types.scalar.StringType;
import ecologylab.serialization.types.scalar.URLType;
import ecologylab.serialization.types.scalar.UUIDType;
public class FundamentalTypes
implements CrossLanguageTypeConstants
{
public static final CollectionType<ArrayList> ARRAYLIST_TYPE =
new CollectionType<ArrayList>(ArrayList.class, DOTNET_ARRAYLIST, OBJC_ARRAYLIST);
public static final CollectionType<HashMap> HASHMAP_TYPE =
new CollectionType<HashMap>(HashMap.class, DOTNET_HASHMAP, OBJC_HASHMAP);
public static final CollectionType<HashMapArrayList> HASHMAPARRAYLIST_TYPE =
new CollectionType<HashMapArrayList>( HashMapArrayList.class, DOTNET_HASHMAPARRAYLIST, OBJC_HASHMAPARRAYLIST);
public static final CollectionType<Scope> SCOPE_TYPE =
new CollectionType<Scope>(Scope.class, DOTNET_SCOPE, OBJC_SCOPE);
static
{
TypeRegistry.setDefaultCollectionType(ARRAYLIST_TYPE);
TypeRegistry.setDefaultMapType(HASHMAP_TYPE);
}
public static final ScalarType<String> STRING_TYPE = new StringType();
public static final ScalarType<StringBuilder> STRING_BUILDER_TYPE = new StringBuilderType();
public static final ScalarType<Integer> INT_TYPE = new IntType();
public static final ScalarType<Integer> REFERENCE_INTEGER_TYPE = new ReferenceIntegerType();
public static final ScalarType<Long> LONG_TYPE = new LongType();
public static final ScalarType<Long> REFERENCE_LONG_TYPE = new ReferenceLongType();
public static final ScalarType<Boolean> BOOLEAN_TYPE = new BooleanType();
public static final ScalarType<Boolean> REFERENCE_BOOLEAN_TYPE = new ReferenceBooleanType();
public static final ScalarType<Float> FLOAT_TYPE = new FloatType();
public static final ScalarType<Float> REFERENCE_FLOAT_TYPE = new ReferenceFloatType();
public static final ScalarType<Double> DOUBLE_TYPE = new DoubleType();
public static final ScalarType<Double> REFERENCE_DOUBLE_TYPE = new ReferenceDoubleType();
public static final ScalarType<Short> SHORT_TYPE = new ShortType();
public static final ScalarType<Byte> BYTE_TYPE = new ByteType();
public static final ScalarType<Character> CHAR_TYPE = new CharType();
public static final ScalarType<URL> URL_TYPE = new URLType();
public static final ScalarType<ParsedURL> PARSED_URL_TYPE = new ParsedURLType();
public static final ScalarType<File> FILE_TYPE = new FileType();
public static final ScalarType<ByteBuffer> BINARY_DATA_TYPE = new BinaryDataType();
public static final ScalarType<UUID> UUID_TYPE = new UUIDType();
public static final ScalarType<Date> DATE_TYPE = new DateType();
public static final ScalarType<ScalarType> SCALAR_TYPE_TYPE = new ScalarTypeType();
public static final ScalarType<CollectionType> COLLECTION_TYPE_TYPE = new CollectionTypeType();
public static final ScalarType<Pattern> PATTERN_TYPE = new PatternType();
public static final ScalarType<Enum> ENUMERATED_TYPE = new EnumeratedType();
public static final ScalarType<Class> CLASS_TYPE = new ClassType();
public static final ScalarType<Field> FIELD_TYPE = new FieldType();
public static final ScalarType COMPOSITE_AS_SCALAR_TYPE = new CompositeAsScalarType();
}