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 public static final SchemaContextProvider fromSchemaService(final SchemaService schemaService) {
18 if (schemaService instanceof SchemaContextProvider) {
19 return (SchemaContextProvider) schemaService;
21 return new SchemaServiceAdapter(schemaService);
24 private final static class SchemaServiceAdapter implements SchemaContextProvider, Delegator<SchemaService> {
26 private final SchemaService service;
28 public SchemaServiceAdapter(final SchemaService service) {
30 this.service = service;
34 public SchemaContext getSchemaContext() {
35 return service.getGlobalContext();
39 public SchemaService getDelegate() {
44 public String toString() {
45 return "SchemaServiceAdapter [service=" + service + "]";