package org.opendaylight.yangtools.concepts;
import java.util.EventListener;
+import javax.annotation.Nonnull;
public abstract class AbstractListenerRegistration<T extends EventListener> extends AbstractObjectRegistration<T>
implements ListenerRegistration<T> {
- protected AbstractListenerRegistration(final T listener) {
+ protected AbstractListenerRegistration(final @Nonnull T listener) {
super(listener);
}
}
*/
package org.opendaylight.yangtools.concepts;
+import com.google.common.base.Preconditions;
+import javax.annotation.Nonnull;
+
/**
* Utility registration handle. It is a convenience for register-style method
* which can return an AutoCloseable realized by a subclass of this class.
public abstract class AbstractObjectRegistration<T> extends AbstractRegistration implements ObjectRegistration<T> {
private final T instance;
- protected AbstractObjectRegistration(final T instance) {
- this.instance = instance;
+ protected AbstractObjectRegistration(final @Nonnull T instance) {
+ this.instance = Preconditions.checkNotNull(instance);
}
@Override
*/
package org.opendaylight.yangtools.concepts;
+import javax.annotation.Nonnull;
+
/**
* Class representing a registration of an object. Such a registration is
* a proper resource and should be cleaned up when no longer required, so
*
* @return Registered object.
*/
- T getInstance();
+ @Nonnull T getInstance();
/**
* Unregisters the object. This operation is required not to invoke