/* * Copyright (c) 2014 Brocade Communications Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.util.concurrent; import com.google.common.collect.ImmutableList; import java.util.concurrent.Executor; import org.eclipse.jdt.annotation.NonNull; /** * {@inheritDoc} * *
* This class is pessimistic about listener type and uses identity mapping for comparing them. This is defensive versus
* reused objects, maintaining semantics. This may not always be intended, for example if {@code L} is a {@code String}
* which is being dynamically determined. In that case we do not want to use identity, but equality, as otherwise
* the caller is forced to use {@link String#intern()} -- leading to interning in lookup, which is absolutely
* unnecessary. In such use cases, use {@link EqualityQueuedNotificationManager} instead.
*
* @author Thomas Pantelis
*/
public final class QueuedNotificationManager