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 class SchemaContextProviders {
17 private SchemaContextProviders() {
18 throw new UnsupportedOperationException("Utility class.");
21 public static final 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 public SchemaServiceAdapter(final SchemaService service) {
34 this.service = service;
38 public SchemaContext getSchemaContext() {
39 return service.getGlobalContext();
43 public SchemaService getDelegate() {
48 public String toString() {
49 return "SchemaServiceAdapter [service=" + service + "]";