2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.md.sal.dom.api;
10 import com.google.common.annotations.Beta;
12 import org.eclipse.jdt.annotation.NonNull;
15 * Marker interface for services which can support {@link DOMServiceExtension}.
16 * Aside for marking these, they also provide runtime query to detect whether
17 * a particular trait is in fact available.
19 * @param <T> Base {@link DOMService}
20 * @param <E> Extension type
21 * @deprecated Use {@link org.opendaylight.mdsal.dom.api.DOMExtensibleService} instead.
23 @Deprecated(forRemoval = true)
25 public interface DOMExtensibleService<T extends DOMExtensibleService<T, E>,
26 E extends DOMServiceExtension<T, E>> extends DOMService {
28 * Return a map of currently-supported extensions, along with accessor services
29 * which provide access to the specific functionality bound to this service.
31 * @return A map of supported functionality.
33 @NonNull Map<Class<? extends E>, E> getSupportedExtensions();