001    /*
002     * Copyright 2010 Red Hat, Inc.
003     * Red Hat licenses this file to you under the Apache License, version
004     * 2.0 (the "License"); you may not use this file except in compliance
005     * with the License.  You may obtain a copy of the License at
006     *    http://www.apache.org/licenses/LICENSE-2.0
007     * Unless required by applicable law or agreed to in writing, software
008     * distributed under the License is distributed on an "AS IS" BASIS,
009     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
010     * implied.  See the License for the specific language governing
011     * permissions and limitations under the License.
012     */
013    
014    package org.hornetq.api.jms;
015    
016    /**
017     * A JMSFactoryType
018     *
019     * @author howard
020     *
021     *
022     */
023    public enum JMSFactoryType
024    {
025       CF, QUEUE_CF, TOPIC_CF, XA_CF, QUEUE_XA_CF, TOPIC_XA_CF;
026    
027       public int intValue()
028       {
029          int val = 0;
030          switch (this)
031          {
032             case CF:
033                val = 0;
034                break;
035             case QUEUE_CF:
036                val = 1;
037                break;
038             case TOPIC_CF:
039                val = 2;
040                break;
041             case XA_CF:
042                val = 3;
043                break;
044             case QUEUE_XA_CF:
045                val = 4;
046                break;
047             case TOPIC_XA_CF:
048                val = 5;
049                break;
050          }
051          return val;
052       }
053    
054       public static JMSFactoryType valueOf(int val)
055       {
056          JMSFactoryType type;
057          switch (val)
058          {
059             case 0:
060                type = CF;
061                break;
062             case 1:
063                type = QUEUE_CF;
064                break;
065             case 2:
066                type = TOPIC_CF;
067                break;
068             case 3:
069                type = XA_CF;
070                break;
071             case 4:
072                type = QUEUE_XA_CF;
073                break;
074             case 5:
075                type = TOPIC_XA_CF;
076                break;
077             default:
078                type = XA_CF;
079                break;
080          }
081          return type;
082       }
083    }