/* * Copyright (c) 2017 Serro LLC. 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.nic.listeners.api; import org.opendaylight.nic.utils.EventType; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; /** * Notification service for a single item * @param <O> the instance that extends {@link DataObject} * @param <N> the {@link NicNotification} */ public interface NotificationSupplierForSingleItem<O extends DataObject, N extends NicNotification> extends NotificationSupplierDefinition<O> { /** * The notification for a given {@link DataObject} * @param object the {@link DataObject} * @param patch the {@link InstanceIdentifier} related to {@link DataObject} * @return a {@link NicNotification} */ N dataChangedNotification(O object, InstanceIdentifier<O> patch); /** * Get the {@link NicNotification} impl class * @return */ Class<?> getImplClass(); /** * Retrieve the {@link EventType} * @return a {@link EventType} */ EventType getEventType(); }