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
014package org.hornetq.api.jms;
015
016/**
017 * A JMSFactoryType
018 *
019 * @author howard
020 *
021 *
022 */
023public 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}