001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.activemq.transport.stomp;
018
019 public interface Stomp {
020 String NULL = "\u0000";
021 String NEWLINE = "\n";
022
023 public static interface Commands {
024 String CONNECT = "CONNECT";
025 String SEND = "SEND";
026 String DISCONNECT = "DISCONNECT";
027 String SUBSCRIBE = "SUB";
028 String UNSUBSCRIBE = "UNSUB";
029
030 String BEGIN_TRANSACTION = "BEGIN";
031 String COMMIT_TRANSACTION = "COMMIT";
032 String ABORT_TRANSACTION = "ABORT";
033 String BEGIN = "BEGIN";
034 String COMMIT = "COMMIT";
035 String ABORT = "ABORT";
036 String ACK = "ACK";
037 }
038
039 public interface Responses {
040 String CONNECTED = "CONNECTED";
041 String ERROR = "ERROR";
042 String MESSAGE = "MESSAGE";
043 String RECEIPT = "RECEIPT";
044 }
045
046 public interface Headers {
047 String SEPERATOR = ":";
048 String RECEIPT_REQUESTED = "receipt";
049 String TRANSACTION = "transaction";
050 String CONTENT_LENGTH = "content-length";
051 String TRANSFORMATION = "transformation";
052 String TRANSFORMATION_ERROR = "transformation-error";
053 /**
054 * This header is used to instruct ActiveMQ to construct the message
055 * based with a specific type.
056 */
057 String AMQ_MESSAGE_TYPE = "amq-msg-type";
058
059 public interface Response {
060 String RECEIPT_ID = "receipt-id";
061 }
062
063 public interface Send {
064 String DESTINATION = "destination";
065 String CORRELATION_ID = "correlation-id";
066 String REPLY_TO = "reply-to";
067 String EXPIRATION_TIME = "expires";
068 String PRIORITY = "priority";
069 String TYPE = "type";
070 String PERSISTENT = "persistent";
071 }
072
073 public interface Message {
074 String MESSAGE_ID = "message-id";
075 String DESTINATION = "destination";
076 String CORRELATION_ID = "correlation-id";
077 String EXPIRATION_TIME = "expires";
078 String REPLY_TO = "reply-to";
079 String PRORITY = "priority";
080 String REDELIVERED = "redelivered";
081 String TIMESTAMP = "timestamp";
082 String TYPE = "type";
083 String SUBSCRIPTION = "subscription";
084 String USERID = "JMSXUserID";
085 String ORIGINAL_DESTINATION = "original-destination";
086 }
087
088 public interface Subscribe {
089 String DESTINATION = "destination";
090 String ACK_MODE = "ack";
091 String ID = "id";
092 String SELECTOR = "selector";
093
094 public interface AckModeValues {
095 String AUTO = "auto";
096 String CLIENT = "client";
097 String INDIVIDUAL = "client-individual";
098 }
099 }
100
101 public interface Unsubscribe {
102 String DESTINATION = "destination";
103 String ID = "id";
104 }
105
106 public interface Connect {
107 String LOGIN = "login";
108 String PASSCODE = "passcode";
109 String CLIENT_ID = "client-id";
110 String REQUEST_ID = "request-id";
111 }
112
113 public interface Error {
114 String MESSAGE = "message";
115 }
116
117 public interface Connected {
118 String SESSION = "session";
119 String RESPONSE_ID = "response-id";
120 }
121
122 public interface Ack {
123 String MESSAGE_ID = "message-id";
124 }
125 }
126
127 public enum Transformations {
128 JMS_BYTE,
129 JMS_XML,
130 JMS_JSON,
131 JMS_OBJECT_XML,
132 JMS_OBJECT_JSON,
133 JMS_MAP_XML,
134 JMS_MAP_JSON,
135 JMS_ADVISORY_XML,
136 JMS_ADVISORY_JSON;
137
138 public String toString() {
139 return name().replaceAll("_", "-").toLowerCase();
140 }
141
142 public static Transformations getValue(String value) {
143 return valueOf(value.replaceAll("-", "_").toUpperCase());
144 }
145 }
146 }