You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ra...@apache.org on 2019/09/01 18:35:16 UTC

[mina-vysper] branch master updated: Add DelegatingStanzaBroker

This is an automated email from the ASF dual-hosted git repository.

ralaoui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-vysper.git


The following commit(s) were added to refs/heads/master by this push:
     new 3ac6f7f  Add DelegatingStanzaBroker
3ac6f7f is described below

commit 3ac6f7fb6dce71818d02d720af8504fcd90d7ebf
Author: Réda Housni Alaoui <re...@gmail.com>
AuthorDate: Sun Sep 1 20:35:08 2019 +0200

    Add DelegatingStanzaBroker
---
 .../xmpp/protocol/DelegatingStanzaBroker.java      | 50 ++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/DelegatingStanzaBroker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/DelegatingStanzaBroker.java
new file mode 100644
index 0000000..1bd64e6
--- /dev/null
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/DelegatingStanzaBroker.java
@@ -0,0 +1,50 @@
+/*
+ *  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.vysper.xmpp.protocol;
+
+import static java.util.Objects.requireNonNull;
+
+import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
+import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
+import org.apache.vysper.xmpp.stanza.Stanza;
+
+/**
+ * @author Réda Housni Alaoui
+ */
+public abstract class DelegatingStanzaBroker implements StanzaBroker {
+
+    private final StanzaBroker delegate;
+
+    public DelegatingStanzaBroker(StanzaBroker delegate) {
+        this.delegate = requireNonNull(delegate);
+    }
+
+    @Override
+    public void write(Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
+            throws DeliveryException {
+        delegate.write(receiver, stanza, deliveryFailureStrategy);
+    }
+
+    @Override
+    public void writeToSession(Stanza stanza) {
+        delegate.writeToSession(stanza);
+    }
+}