diff options
Diffstat (limited to 'src/com/isode/stroke/elements/IQ.java')
-rw-r--r-- | src/com/isode/stroke/elements/IQ.java | 52 |
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); |