/* * Copyright 2004-2011 H2 Group. Multiple-Licensed under the H2 License, * Version 1.0, and under the Eclipse Public License, Version 1.0 * (http://h2database.com/html/license.html). * Initial Developer: H2 Group */ package org.h2.dev.store.btree; import org.h2.compress.Compressor; /** * A factory for maps and data types. */ public interface MapFactory { /** * Build a map. * * @param mapType the map type and type specific meta data * @param store the store * @param id the unique map id * @param name the map name * @param keyType the key type * @param valueType the value type * @param createVersion when the map was created * @return the map */ <K, V> MVMap<K, V> buildMap( String mapType, MVStore store, int id, String name, DataType keyType, DataType valueType, long createVersion); /** * Parse the data type. * * @param dataType the string and type specific meta data * @return the type */ DataType buildDataType(String dataType); /** * Create a new compressor. * * @return the compressor */ Compressor buildCompressor(); /** * Get the data type object for the given class. * * @param objectClass the class * @return the data type object */ String getDataType(Class<?> objectClass); }