001/**
002 *   GRANITE DATA SERVICES
003 *   Copyright (C) 2006-2013 GRANITE DATA SERVICES S.A.S.
004 *
005 *   This file is part of the Granite Data Services Platform.
006 *
007 *   Granite Data Services is free software; you can redistribute it and/or
008 *   modify it under the terms of the GNU Lesser General Public
009 *   License as published by the Free Software Foundation; either
010 *   version 2.1 of the License, or (at your option) any later version.
011 *
012 *   Granite Data Services is distributed in the hope that it will be useful,
013 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
014 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
015 *   General Public License for more details.
016 *
017 *   You should have received a copy of the GNU Lesser General Public
018 *   License along with this library; if not, write to the Free Software
019 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
020 *   USA, or see <http://www.gnu.org/licenses/>.
021 */
022package org.granite.messaging.jmf;
023
024import java.nio.charset.Charset;
025
026/**
027 * @author Franck WOLFF
028 */
029public interface JMFConstants {
030
031        static final String CLIENT_PERSISTENCE_COLLECTION_PACKAGE = "org.granite.client.persistence.collection";
032        
033        static final Charset UTF8 = Charset.forName("UTF-8");
034
035        // Types with 4 bits of parameters (bit 4 always 0)
036        
037        static final int JMF_CLASS                              = 0x00; // JMF_XXXX_0000
038        static final int JMF_OBJECT                             = 0x01; // JMF_XXXX_0001
039        static final int JMF_ENUM                               = 0x02; // JMF_XXXX_0010
040        static final int JMF_ARRAY                              = 0x03; // JMF_XXXX_0011
041        static final int JMF_LONG                               = 0x04; // JMF_XXXX_0100
042        static final int JMF_LONG_OBJECT                = 0x05; // JMF_XXXX_0101
043        static final int JMF_STRING                             = 0x06; // JMF_XXXX_0110
044
045        static final int JMF_XXXX_0111                  = 0x07; // JMF_XXXX_0111
046        
047        // Types with 3 bits of parameters (bit 5 always 0, bit 4 always 1)
048
049        static final int JMF_INTEGER                    = 0x08; // JMF_XXX0_1000
050        static final int JMF_INTEGER_OBJECT             = 0x09; // JMF_XXX0_1001
051        static final int JMF_ARRAY_LIST                 = 0x0A; // JMF_XXX0_1010
052        static final int JMF_HASH_SET                   = 0x0B; // JMF_XXX0_1011
053        static final int JMF_HASH_MAP                   = 0x0C; // JMF_XXX0_1100
054
055        static final int JMF_XXX0_1101                  = 0x0D; // JMF_XXX0_1101
056        static final int JMF_XXX0_1110                  = 0x0E; // JMF_XXX0_1110
057        static final int JMF_XXX0_1111                  = 0x0F; // JMF_XXX0_1111
058        
059        // Types with 2 bits of parameters (bit 6 always 0, bit 5 and 4 always 1)
060        static final int JMF_SHORT                              = 0x18; // JMF_XX01_1000
061        static final int JMF_SHORT_OBJECT               = 0x19; // JMF_XX01_1001
062        static final int JMF_BIG_INTEGER                = 0x1A; // JMF_XX01_1010
063        static final int JMF_BIG_DECIMAL                = 0x1B; // JMF_XX01_1011
064        static final int JMF_DOUBLE                             = 0x1C; // JMF_XX01_1100
065        static final int JMF_DOUBLE_OBJECT              = 0x1D; // JMF_XX01_1101
066
067        static final int JMF_XX01_1110                  = 0x1E; // JMF_XX01_1110
068        static final int JMF_XX01_1111                  = 0x1F; // JMF_XX01_1111
069        
070        // Types with 1 bit of parameters (bit 7 always 0, bit 6, 5 and 4 always 1)
071
072        static final int JMF_BOOLEAN                    = 0x38; // JMF_X011_1000
073        static final int JMF_BOOLEAN_OBJECT             = 0x39; // JMF_X011_1001
074        static final int JMF_CHARACTER                  = 0x3A; // JMF_X011_1010
075        static final int JMF_CHARACTER_OBJECT   = 0x3B; // JMF_X011_1011
076
077        static final int JMF_X011_1100                  = 0x3C; // JMF_X011_1100
078        static final int JMF_X011_1101                  = 0x3D; // JMF_X011_1101
079        static final int JMF_X011_1110                  = 0x3E; // JMF_X011_1110
080        static final int JMF_X011_1111                  = 0x3F; // JMF_X011_1111
081        
082        // Types with 0 bit of parameters (bit 7, 6, 5 and 4 always 1)
083
084        static final int JMF_NULL                               = 0x78; // JMF_0111_1000
085        static final int JMF_OBJECT_END                 = 0x79; // JMF_0111_1001
086        static final int JMF_BYTE                               = 0x7A; // JMF_0111_1010
087        static final int JMF_BYTE_OBJECT                = 0x7B; // JMF_0111_1011
088        static final int JMF_FLOAT                              = 0x7C; // JMF_0111_1100
089        static final int JMF_FLOAT_OBJECT               = 0x7D; // JMF_0111_1101
090        static final int JMF_DATE                               = 0x7E; // JMF_0111_1110
091        static final int JMF_SQL_DATE                   = 0x7F; // JMF_0111_1111
092
093        static final int JMF_SQL_TIME                   = 0xF8; // JMF_1111_1000
094        static final int JMF_SQL_TIMESTAMP              = 0xF9; // JMF_1111_1001
095
096        static final int JMF_1111_1010                  = 0xFA; // JMF_1111_1010
097        static final int JMF_1111_1011                  = 0xFB; // JMF_1111_1011
098        static final int JMF_1111_1100                  = 0xFC; // JMF_1111_1100
099        static final int JMF_1111_1101                  = 0xFD; // JMF_1111_1101
100        static final int JMF_1111_1110                  = 0xFE; // JMF_1111_1110
101        static final int JMF_1111_1111                  = 0xFF; // JMF_1111_1111
102}