2 * Copyright (c) 2016 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.mdsal.binding.yang.types;
10 import com.google.common.collect.ImmutableList;
11 import java.util.List;
12 import java.util.Optional;
13 import org.opendaylight.yangtools.yang.common.QName;
14 import org.opendaylight.yangtools.yang.model.api.PathExpression;
15 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
16 import org.opendaylight.yangtools.yang.model.api.Status;
17 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
18 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
21 * Mock LeafrefDypeDefinition implementation with non-null referenced RevisionAwareXPath. Although RevisionAwareXPath
22 * has implemented Override for toString to return null value to reach specific branch
23 * in TypeProviderImpl#provideTypeForLeafref method.
25 public class LeafrefTypeWithNullToStringInXpath implements LeafrefTypeDefinition {
27 public PathExpression getPathStatement() {
28 return new PathExpression() {
30 public boolean isAbsolute() {
35 public String getOriginalString() {
40 public Steps getSteps() {
41 throw new UnsupportedOperationException();
47 public LeafrefTypeDefinition getBaseType() {
52 public Optional<String> getUnits() {
53 return Optional.empty();
57 public Optional<? extends Object> getDefaultValue() {
58 return Optional.empty();
62 public QName getQName() {
63 throw new UnsupportedOperationException();
67 public SchemaPath getPath() {
68 throw new UnsupportedOperationException();
72 public List<UnknownSchemaNode> getUnknownSchemaNodes() {
73 return ImmutableList.of();
77 public Optional<String> getDescription() {
78 return Optional.empty();
82 public Optional<String> getReference() {
83 return Optional.empty();
87 public Status getStatus() {
88 return Status.CURRENT;
92 public boolean requireInstance() {