Author: berndf
Date: Mon Aug 31 08:10:18 2009
New Revision: 809495
URL: http://svn.apache.org/viewvc?rev=809495&view=rev
Log:
add convenience methods to create a forwarded stanza
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java?rev=809495&r1=809494&r2=809495&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
Mon Aug 31 08:10:18 2009
@@ -146,7 +146,34 @@
return stanzaBuilder;
}
+
+ /**
+ * creates a new stanza which only differs from the given original by
'from' and 'to' attributes.
+ *
+ * @param original
+ * @param from if NOT NULL, the new 'from'
+ * @param to if NOT NULL, the new 'to'
+ * @return stanza builder with to and from replaced
+ */
+ public static StanzaBuilder createForward(Stanza original, Entity from,
Entity to) {
+ List<Attribute> toFromReplacements = new ArrayList<Attribute>(2);
+ if (to != null) toFromReplacements.add(new Attribute("to",
to.getFullQualifiedName()));
+ if (from != null) toFromReplacements.add(new Attribute("from",
from.getFullQualifiedName()));
+
+ return createClone(original, true, toFromReplacements);
+ }
+ /**
+ * convenience shortcut for {...@link #createForward(Stanza,
org.apache.vysper.xmpp.addressing.Entity,
org.apache.vysper.xmpp.addressing.Entity)}
+ *
+ * @param original
+ * @param from if NOT NULL, the new 'from'
+ * @param to if NOT NULL, the new 'to'
+ * @return forward stanza
+ */
+ public static Stanza createForwardStanza(Stanza original, Entity from,
Entity to) {
+ return createForward(original, from, to).getFinalStanza();
+ }
class ElementStruct {
public ElementStruct parentElement = null;