summaryrefslogtreecommitdiff
path: root/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/Message.java
blob: 1481c54ee1914180e2c35b4a1dc13e907ced0b12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
/*
 *
 * 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.qpid.amqp_1_0.jms;

import org.apache.qpid.amqp_1_0.messaging.MessageAttributes;
import org.apache.qpid.amqp_1_0.type.Binary;
import org.apache.qpid.amqp_1_0.type.Symbol;
import org.apache.qpid.amqp_1_0.type.UnsignedByte;
import org.apache.qpid.amqp_1_0.type.UnsignedInteger;
import org.apache.qpid.amqp_1_0.type.UnsignedLong;
import org.apache.qpid.amqp_1_0.type.UnsignedShort;

import javax.jms.JMSException;
import java.util.Date;
import java.util.List;
import java.util.Map;


public interface Message extends javax.jms.Message
{

    Destination getJMSReplyTo() throws JMSException;

    Destination getJMSDestination() throws JMSException;

    // properties can be keyed by any valid apache.qpid.amqp_1_0 datatype, not just strings

    boolean propertyExists(Object name) throws JMSException;

    boolean getBooleanProperty(Object name) throws JMSException;

    byte getByteProperty(Object name) throws JMSException;

    short getShortProperty(Object name) throws JMSException;

    int getIntProperty(Object name) throws JMSException;

    long getLongProperty(Object name) throws JMSException;

    float getFloatProperty(Object name) throws JMSException;

    double getDoubleProperty(Object name) throws JMSException;

    String getStringProperty(Object name) throws JMSException;

    Object getObjectProperty(Object name) throws JMSException;

    // apache.qpid.amqp_1_0 allows for lists, maps, and unsigned integral data types

    List<Object> getListProperty(Object name) throws JMSException;

    Map<Object,Object> getMapProperty(Object name) throws JMSException;

    UnsignedByte getUnsignedByteProperty(Object name) throws JMSException;

    UnsignedShort getUnsignedShortProperty(Object name) throws JMSException;

    UnsignedInteger getUnsignedIntProperty(Object name) throws JMSException;

    UnsignedLong getUnsignedLongProperty(Object name) throws JMSException;

    // properties can be keyed by any valid apache.qpid.amqp_1_0 datatype, not just strings

    void setBooleanProperty(Object name, boolean b) throws JMSException;

    void setByteProperty(Object name, byte b) throws JMSException;

    void setShortProperty(Object name, short i) throws JMSException;

    void setIntProperty(Object name, int i) throws JMSException;

    void setLongProperty(Object name, long l) throws JMSException;

    void setFloatProperty(Object name, float v) throws JMSException;

    void setDoubleProperty(Object name, double v) throws JMSException;

    void setStringProperty(Object name, String s1) throws JMSException;

    void setObjectProperty(Object name, Object o) throws JMSException;

    // apache.qpid.amqp_1_0 allows for lists, maps, and unsigned integral data types

    void setListProperty(Object name, List<Object> list) throws JMSException;

    void setMapProperty(Object name, Map<Object,Object> map) throws JMSException;

    void setUnsignedByteProperty(Object name, UnsignedByte b) throws JMSException;

    void setUnsignedShortProperty(Object name, UnsignedShort s) throws JMSException;

    void setUnsignedIntProperty(Object name, UnsignedInteger i) throws JMSException;

    void setUnsignedLongProperty(Object name, UnsignedLong l) throws JMSException;

    // delegation accessors for Header section

    UnsignedInteger getDeliveryFailures();

    void setDeliveryFailures(UnsignedInteger failures);

    MessageAttributes getHeaderMessageAttrs();

    void setHeaderMessageAttrs(MessageAttributes messageAttrs);

    MessageAttributes getHeaderDeliveryAttrs();

    void setHeaderDeliveryAttrs(MessageAttributes deliveryAttrs);

    Boolean getDurable();

    void setDurable(Boolean durable);

    UnsignedByte getPriority();

    void setPriority(UnsignedByte priority);

    Date getTransmitTime();

    void setTransmitTime(Date transmitTime);

    UnsignedInteger getTtl();

    void setTtl(UnsignedInteger ttl);

    UnsignedInteger getFormerAcquirers();

    void setFormerAcquirers(UnsignedInteger formerAcquirers);

    // delegation accessors for Properties section

    Object getMessageId();

    void setMessageId(Object messageId);

    Binary getUserId();

    void setUserId(Binary userId);

    String getTo();

    void setTo(String to);

    String getSubject();

    void setSubject(String subject);

    String getReplyTo();

    void setReplyTo(String replyTo);

    Object getCorrelationId();

    void setCorrelationId(Binary correlationId);

    Symbol getContentType();

    void setContentType(Symbol contentType);
}