com.parse.ParseMulticastDelegate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of parse-android Show documentation
Show all versions of parse-android Show documentation
A library that gives you access to the powerful Parse cloud platform from your Android app.
/*
* Copyright (c) 2015-present, Parse, LLC.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
package com.parse;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/** package */ class ParseMulticastDelegate {
private final List> callbacks;
public ParseMulticastDelegate() {
callbacks = new LinkedList<>();
}
public void subscribe(ParseCallback2 callback) {
callbacks.add(callback);
}
public void unsubscribe(ParseCallback2 callback) {
callbacks.remove(callback);
}
public void invoke(T result, ParseException exception) {
for (ParseCallback2 callback : new ArrayList<>(callbacks)) {
callback.done(result, exception);
}
}
public void clear() {
callbacks.clear();
}
}