org.eclipse.leshan.client.observer.LwM2mClientObserverDispatcher Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leshan-all Show documentation
Show all versions of leshan-all Show documentation
A LWM2M client and server based on Californium (CoAP) all in one.
/*******************************************************************************
* Copyright (c) 2016 Sierra Wireless and others.
*
* All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse
* Public License v1.0 and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution
* License is available at http://www.eclipse.org/org/documents/edl-v10.html.
*
* Contributors: Sierra Wireless - initial API and implementation
*******************************************************************************/
package org.eclipse.leshan.client.observer;
import java.util.concurrent.CopyOnWriteArrayList;
import org.eclipse.leshan.ResponseCode;
import org.eclipse.leshan.client.servers.DmServerInfo;
import org.eclipse.leshan.client.servers.ServerInfo;
/**
* A dispatcher for LwM2mClientObserver. It allow several observers on a LwM2mClient.
*
*/
public class LwM2mClientObserverDispatcher implements LwM2mClientObserver {
private CopyOnWriteArrayList observers = new CopyOnWriteArrayList<>();
public void addObserver(LwM2mClientObserver observer) {
observers.add(observer);
}
public void removeObserver(LwM2mClientObserver observer) {
observers.remove(observer);
}
@Override
public void onBootstrapSuccess(ServerInfo bsserver) {
for (LwM2mClientObserver observer : observers) {
observer.onBootstrapSuccess(bsserver);
}
}
@Override
public void onBootstrapFailure(ServerInfo bsserver, ResponseCode responseCode, String errorMessage) {
for (LwM2mClientObserver observer : observers) {
observer.onBootstrapFailure(bsserver, responseCode, errorMessage);
}
}
@Override
public void onBootstrapTimeout(ServerInfo bsserver) {
for (LwM2mClientObserver observer : observers) {
observer.onBootstrapTimeout(bsserver);
}
}
@Override
public void onRegistrationSuccess(DmServerInfo server, String registrationID) {
for (LwM2mClientObserver observer : observers) {
observer.onRegistrationSuccess(server, registrationID);
}
}
@Override
public void onRegistrationFailure(DmServerInfo server, ResponseCode responseCode, String errorMessage) {
for (LwM2mClientObserver observer : observers) {
observer.onRegistrationFailure(server, responseCode, errorMessage);
}
}
@Override
public void onRegistrationTimeout(DmServerInfo server) {
for (LwM2mClientObserver observer : observers) {
observer.onRegistrationTimeout(server);
}
}
@Override
public void onUpdateSuccess(DmServerInfo server, String registrationID) {
for (LwM2mClientObserver observer : observers) {
observer.onUpdateSuccess(server, registrationID);
}
}
@Override
public void onUpdateFailure(DmServerInfo server, ResponseCode responseCode, String errorMessage) {
for (LwM2mClientObserver observer : observers) {
observer.onUpdateFailure(server, responseCode, errorMessage);
}
}
@Override
public void onUpdateTimeout(DmServerInfo server) {
for (LwM2mClientObserver observer : observers) {
observer.onUpdateTimeout(server);
}
}
@Override
public void onDeregistrationSuccess(DmServerInfo server, String registrationID) {
for (LwM2mClientObserver observer : observers) {
observer.onDeregistrationSuccess(server, registrationID);
}
}
@Override
public void onDeregistrationFailure(DmServerInfo server, ResponseCode responseCode, String errorMessage) {
for (LwM2mClientObserver observer : observers) {
observer.onDeregistrationFailure(server, responseCode, errorMessage);
}
}
@Override
public void onDeregistrationTimeout(DmServerInfo server) {
for (LwM2mClientObserver observer : observers) {
observer.onDeregistrationTimeout(server);
}
}
}