2 * Copyright (c) 2013 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.sal.dom.broker.impl;
10 import org.opendaylight.controller.sal.core.api.model.SchemaService;
11 import org.opendaylight.yangtools.concepts.Delegator;
12 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
13 import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider;
15 public final class SchemaContextProviders {
17 private SchemaContextProviders() {
18 throw new UnsupportedOperationException("Utility class.");
21 public static SchemaContextProvider fromSchemaService(final SchemaService schemaService) {
22 if (schemaService instanceof SchemaContextProvider) {
23 return (SchemaContextProvider) schemaService;
25 return new SchemaServiceAdapter(schemaService);
28 private static final class SchemaServiceAdapter implements SchemaContextProvider, Delegator<SchemaService> {
30 private final SchemaService service;
32 SchemaServiceAdapter(final SchemaService service) {
33 this.service = service;
37 public SchemaContext getSchemaContext() {
38 return service.getGlobalContext();
42 public SchemaService getDelegate() {
47 public String toString() {
48 return "SchemaServiceAdapter [service=" + service + "]";