Refactor two classes's package

Project: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/commit/e0802f0f
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/tree/e0802f0f
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/diff/e0802f0f

Branch: refs/heads/jms-dev-1.1.0
Commit: e0802f0f024c15a08354a4be1c5e79e65165e018
Parents: 40bf4ce
Author: zhangke <[email protected]>
Authored: Mon Feb 27 22:20:33 2017 +0800
Committer: zhangke <[email protected]>
Committed: Mon Feb 27 22:20:33 2017 +0800

----------------------------------------------------------------------
 .../org/apache/rocketmq/jms/JMSHeaderEnum.java  | 44 ----------------
 .../rocketmq/jms/JMSMessageModelEnum.java       | 53 --------------------
 .../org/apache/rocketmq/jms/JmsContent.java     | 49 ------------------
 .../apache/rocketmq/jms/RocketMQProducer.java   |  8 +--
 .../rocketmq/jms/hook/SendMessageHook.java      |  3 ++
 .../rocketmq/jms/msg/AbstractJMSMessage.java    | 38 +++++++-------
 .../jms/msg/convert/JMS2RMQMessageConvert.java  |  8 +--
 .../jms/msg/convert/RMQ2JMSMessageConvert.java  |  6 +--
 .../rocketmq/jms/msg/enums/JMSHeaderEnum.java   | 44 ++++++++++++++++
 .../jms/msg/enums/JMSMessageModelEnum.java      | 53 ++++++++++++++++++++
 10 files changed, 130 insertions(+), 176 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java 
b/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java
deleted file mode 100644
index 4979f88..0000000
--- a/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.rocketmq.jms;
-
-import javax.jms.Message;
-
-public enum JMSHeaderEnum {
-
-    JMSDestination,
-    JMSDeliveryMode,
-    JMSMessageID,
-    JMSTimestamp,
-    JMSCorrelationID,
-    JMSReplyTo,
-    JMSRedelivered,
-    JMSType,
-    JMSExpiration,
-    JMSPriority,
-    JMSDeliveryTime;
-
-    public static final int JMS_DELIVERY_MODE_DEFAULT_VALUE = 
Message.DEFAULT_DELIVERY_MODE;
-    public static final long JMS_TIME_TO_LIVE_DEFAULT_VALUE = 
Message.DEFAULT_TIME_TO_LIVE;
-    public static final int JMS_PRIORITY_DEFAULT_VALUE = 
Message.DEFAULT_PRIORITY;
-    public static final long JMS_DELIVERY_TIME_DEFAULT_VALUE = 
Message.DEFAULT_DELIVERY_DELAY;
-    public static final boolean JMS_REDELIVERED_DEFAULT_VALUE = false;
-    public static final int JMS_TIMESTAMP_DEFAULT_VALUE = 0;
-    public static final int JMS_EXPIRATION_DEFAULT_VALUE = 0;
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java 
b/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java
deleted file mode 100644
index feee4e3..0000000
--- a/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.rocketmq.jms;
-
-import org.apache.rocketmq.jms.msg.AbstractJMSMessage;
-import org.apache.rocketmq.jms.msg.JMSBytesMessage;
-import org.apache.rocketmq.jms.msg.JMSMapMessage;
-import org.apache.rocketmq.jms.msg.JMSObjectMessage;
-import org.apache.rocketmq.jms.msg.JMSTextMessage;
-
-public enum JMSMessageModelEnum {
-    BYTE(JMSBytesMessage.class),
-    MAP(JMSMapMessage.class),
-    OBJECT(JMSObjectMessage.class),
-    STRING(JMSTextMessage.class);
-
-    public static final String MSG_MODEL_NAME = "MsgModel";
-
-    private Class jmsClass;
-
-    JMSMessageModelEnum(Class jmsClass) {
-        this.jmsClass = jmsClass;
-    }
-
-    public static JMSMessageModelEnum toMsgModelEnum(AbstractJMSMessage 
jmsMsg) {
-        for (JMSMessageModelEnum e : values()) {
-            if (e.getJmsClass().isInstance(jmsMsg)) {
-                return e;
-            }
-        }
-
-        throw new IllegalArgumentException(String.format("Not supported 
class[%s]", jmsMsg.getClass().getSimpleName()));
-    }
-
-    public Class getJmsClass() {
-        return jmsClass;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java 
b/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java
deleted file mode 100644
index 1f5728e..0000000
--- a/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.rocketmq.jms;
-
-public class JmsContent {
-
-    private String messageModel;
-
-    private byte[] content;
-
-    public JmsContent() {
-    }
-
-    public JmsContent(String messageModel, byte[] content) {
-        this.messageModel = messageModel;
-        this.content = content;
-    }
-
-    public String getMessageModel() {
-        return messageModel;
-    }
-
-    public void setMessageModel(String messageModel) {
-        this.messageModel = messageModel;
-    }
-
-    public byte[] getContent() {
-        return content;
-    }
-
-    public void setContent(byte[] content) {
-        this.content = content;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java 
b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
index 109f3bb..64f7438 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
@@ -38,10 +38,10 @@ import org.slf4j.LoggerFactory;
 
 import static java.lang.String.format;
 import static org.apache.commons.lang.exception.ExceptionUtils.getStackTrace;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_TIME_TO_LIVE_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_TIME_TO_LIVE_DEFAULT_VALUE;
 import static 
org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Object;
 
 public class RocketMQProducer implements MessageProducer {

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java 
b/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
index 2e33cd8..e11c9fb 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
@@ -25,6 +25,9 @@ import org.apache.rocketmq.jms.RocketMQProducer;
 
 import static org.apache.rocketmq.jms.Constant.MESSAGE_ID_PREFIX;
 
+/**
+ * Hook that executes before sending message.
+ */
 public class SendMessageHook {
 
     private RocketMQProducer producer;

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java 
b/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
index ef47db0..226c51b 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
@@ -26,25 +26,25 @@ import javax.jms.Destination;
 import javax.jms.JMSException;
 import javax.jms.MessageNotWriteableException;
 import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.rocketmq.jms.JMSHeaderEnum;
-
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSCorrelationID;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSDeliveryMode;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSDeliveryTime;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSDestination;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSExpiration;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSMessageID;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSPriority;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSRedelivered;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSReplyTo;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSTimestamp;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSType;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_EXPIRATION_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_REDELIVERED_DEFAULT_VALUE;
-import static 
org.apache.rocketmq.jms.JMSHeaderEnum.JMS_TIMESTAMP_DEFAULT_VALUE;
+import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
+
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSCorrelationID;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDeliveryMode;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDeliveryTime;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDestination;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSExpiration;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSMessageID;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSPriority;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSRedelivered;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSReplyTo;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSTimestamp;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSType;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_EXPIRATION_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_REDELIVERED_DEFAULT_VALUE;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_TIMESTAMP_DEFAULT_VALUE;
 import static 
org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Boolean;
 import static 
org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Integer;
 import static org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Long;

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
 
b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
index 2dd4977..059fdde 100644
--- 
a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
+++ 
b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
@@ -22,10 +22,10 @@ import javax.jms.JMSException;
 import org.apache.rocketmq.common.message.MessageExt;
 import org.apache.rocketmq.jms.msg.AbstractJMSMessage;
 
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSExpiration;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSMessageID;
-import static org.apache.rocketmq.jms.JMSMessageModelEnum.MSG_MODEL_NAME;
-import static org.apache.rocketmq.jms.JMSMessageModelEnum.toMsgModelEnum;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSExpiration;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSMessageID;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum.MSG_MODEL_NAME;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum.toMsgModelEnum;
 
 public class JMS2RMQMessageConvert {
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
 
b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
index 4fa197b..89f551a 100644
--- 
a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
+++ 
b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
@@ -21,8 +21,8 @@ import java.util.Map;
 import javax.jms.JMSException;
 import javax.jms.Message;
 import org.apache.rocketmq.common.message.MessageExt;
-import org.apache.rocketmq.jms.JMSHeaderEnum;
-import org.apache.rocketmq.jms.JMSMessageModelEnum;
+import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
+import org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum;
 import org.apache.rocketmq.jms.RocketMQTopic;
 import org.apache.rocketmq.jms.msg.AbstractJMSMessage;
 import org.apache.rocketmq.jms.msg.JMSBytesMessage;
@@ -34,7 +34,7 @@ import org.apache.rocketmq.jms.msg.serialize.ObjectSerialize;
 import org.apache.rocketmq.jms.msg.serialize.StringSerialize;
 
 import static java.lang.String.format;
-import static org.apache.rocketmq.jms.JMSMessageModelEnum.MSG_MODEL_NAME;
+import static 
org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum.MSG_MODEL_NAME;
 
 public class RMQ2JMSMessageConvert {
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java 
b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java
new file mode 100644
index 0000000..cb27675
--- /dev/null
+++ b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.jms.msg.enums;
+
+import javax.jms.Message;
+
+public enum JMSHeaderEnum {
+
+    JMSDestination,
+    JMSDeliveryMode,
+    JMSMessageID,
+    JMSTimestamp,
+    JMSCorrelationID,
+    JMSReplyTo,
+    JMSRedelivered,
+    JMSType,
+    JMSExpiration,
+    JMSPriority,
+    JMSDeliveryTime;
+
+    public static final int JMS_DELIVERY_MODE_DEFAULT_VALUE = 
Message.DEFAULT_DELIVERY_MODE;
+    public static final long JMS_TIME_TO_LIVE_DEFAULT_VALUE = 
Message.DEFAULT_TIME_TO_LIVE;
+    public static final int JMS_PRIORITY_DEFAULT_VALUE = 
Message.DEFAULT_PRIORITY;
+    public static final long JMS_DELIVERY_TIME_DEFAULT_VALUE = 
Message.DEFAULT_DELIVERY_DELAY;
+    public static final boolean JMS_REDELIVERED_DEFAULT_VALUE = false;
+    public static final int JMS_TIMESTAMP_DEFAULT_VALUE = 0;
+    public static final int JMS_EXPIRATION_DEFAULT_VALUE = 0;
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java 
b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java
new file mode 100644
index 0000000..f7dc15a
--- /dev/null
+++ 
b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.jms.msg.enums;
+
+import org.apache.rocketmq.jms.msg.AbstractJMSMessage;
+import org.apache.rocketmq.jms.msg.JMSBytesMessage;
+import org.apache.rocketmq.jms.msg.JMSMapMessage;
+import org.apache.rocketmq.jms.msg.JMSObjectMessage;
+import org.apache.rocketmq.jms.msg.JMSTextMessage;
+
+public enum JMSMessageModelEnum {
+    BYTE(JMSBytesMessage.class),
+    MAP(JMSMapMessage.class),
+    OBJECT(JMSObjectMessage.class),
+    STRING(JMSTextMessage.class);
+
+    public static final String MSG_MODEL_NAME = "MsgModel";
+
+    private Class jmsClass;
+
+    JMSMessageModelEnum(Class jmsClass) {
+        this.jmsClass = jmsClass;
+    }
+
+    public static JMSMessageModelEnum toMsgModelEnum(AbstractJMSMessage 
jmsMsg) {
+        for (JMSMessageModelEnum e : values()) {
+            if (e.getJmsClass().isInstance(jmsMsg)) {
+                return e;
+            }
+        }
+
+        throw new IllegalArgumentException(String.format("Not supported 
class[%s]", jmsMsg.getClass().getSimpleName()));
+    }
+
+    public Class getJmsClass() {
+        return jmsClass;
+    }
+}

Reply via email to