1 package org.opendaylight.controller.md.sal.dom.broker.spi.mount;
3 import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
4 import org.opendaylight.controller.md.sal.dom.api.DOMService;
5 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
6 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
8 import com.google.common.base.Optional;
9 import com.google.common.collect.ClassToInstanceMap;
10 import com.google.common.collect.ImmutableClassToInstanceMap;
12 public class SimpleDOMMountPoint implements DOMMountPoint {
14 private final InstanceIdentifier identifier;
15 private final ClassToInstanceMap<DOMService> services;
16 private final SchemaContext schemaContext;
18 public static final SimpleDOMMountPoint create(final InstanceIdentifier identifier, final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
19 return new SimpleDOMMountPoint(identifier, services, ctx);
21 private SimpleDOMMountPoint(final InstanceIdentifier identifier, final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
22 this.identifier = identifier;
23 this.services = ImmutableClassToInstanceMap.copyOf(services);
24 this.schemaContext = ctx;
28 public InstanceIdentifier getIdentifier() {
33 public SchemaContext getSchemaContext() {
38 public <T extends DOMService> Optional<T> getService(final Class<T> cls) {
39 return Optional.fromNullable(services.getInstance(cls));