summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/elements/IQ.java')
-rw-r--r--src/com/isode/stroke/elements/IQ.java52
1 files changed, 42 insertions, 10 deletions
diff --git a/src/com/isode/stroke/elements/IQ.java b/src/com/isode/stroke/elements/IQ.java
index d06d3a6..84645e4 100644
--- a/src/com/isode/stroke/elements/IQ.java
+++ b/src/com/isode/stroke/elements/IQ.java
@@ -33,35 +33,55 @@ public class IQ extends Stanza {
public static IQ createRequest(Type type, JID to, String id, Payload payload) {
IQ iq = new IQ(type);
- iq.setTo(to);
+ if(to.isValid()) {
+ iq.setTo(to);
+ }
iq.setID(id);
- iq.addPayload(payload);
+ if(payload != null) {
+ iq.addPayload(payload);
+ }
return iq;
}
+ public static IQ createResult(JID to, String id) {
+ return createResult(to, id, null);
+ }
+
public static IQ createResult(JID to, String id, Payload payload) {
IQ iq = new IQ(Type.Result);
iq.setTo(to);
iq.setID(id);
- iq.addPayload(payload);
+ if(payload != null) {
+ iq.addPayload(payload);
+ }
return iq;
}
-
+
+ public static IQ createResult(JID to, JID from, String id) {
+ return createResult(to, from, id, null);
+ }
+
public static IQ createResult(JID to, JID from, String id, Payload payload) {
IQ iq = new IQ(Type.Result);
iq.setTo(to);
iq.setFrom(from);
iq.setID(id);
- iq.addPayload(payload);
+ if(payload != null) {
+ iq.addPayload(payload);
+ }
return iq;
}
+ public static IQ createError(JID to, String id) {
+ return createError(to, id, ErrorPayload.Condition.BadRequest, ErrorPayload.Type.Cancel, null);
+ }
+
+ public static IQ createError(JID to, String id, ErrorPayload.Condition condition) {
+ return createError(to, id, condition, ErrorPayload.Type.Cancel, null);
+ }
+
public static IQ createError(JID to, String id, ErrorPayload.Condition condition, ErrorPayload.Type type) {
- IQ iq = new IQ(Type.Error);
- iq.setTo(to);
- iq.setID(id);
- iq.addPayload(new ErrorPayload(condition, type));
- return iq;
+ return createError(to, id, condition, type, null);
}
public static IQ createError(JID to, String id, ErrorPayload.Condition condition, ErrorPayload.Type type, Payload payload) {
@@ -74,6 +94,18 @@ public class IQ extends Stanza {
return iq;
}
+ public static IQ createError(JID to, JID from, String id) {
+ return createError(to, from, id, ErrorPayload.Condition.BadRequest, ErrorPayload.Type.Cancel, null);
+ }
+
+ public static IQ createError(JID to, JID from, String id, ErrorPayload.Condition condition) {
+ return createError(to, from, id, condition, ErrorPayload.Type.Cancel, null);
+ }
+
+ public static IQ createError(JID to, JID from, String id, ErrorPayload.Condition condition, ErrorPayload.Type type) {
+ return createError(to, from, id, condition, type, null);
+ }
+
public static IQ createError(JID to, JID from, String id, ErrorPayload.Condition condition, ErrorPayload.Type type, Payload payload) {
IQ iq = new IQ(Type.Error);
iq.setTo(to);