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;


Reply via email to