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;
19 import org.opendaylight.yangtools.yang.xpath.api.YangLocationPath;
22 * Mock LeafrefDypeDefinition implementation with non-null referenced RevisionAwareXPath. Although RevisionAwareXPath
23 * has implemented Override for toString to return null value to reach specific branch
24 * in TypeProviderImpl#provideTypeForLeafref method.
26 public class LeafrefTypeWithNullToStringInXpath implements LeafrefTypeDefinition {
28 public PathExpression getPathStatement() {
29 return new PathExpression() {
31 public boolean isAbsolute() {
36 public String getOriginalString() {
41 public YangLocationPath getLocation() {
42 throw new UnsupportedOperationException();
48 public LeafrefTypeDefinition getBaseType() {
53 public Optional<String> getUnits() {
54 return Optional.empty();
58 public Optional<? extends Object> getDefaultValue() {
59 return Optional.empty();
63 public QName getQName() {
64 throw new UnsupportedOperationException();
68 public SchemaPath getPath() {
69 throw new UnsupportedOperationException();
73 public List<UnknownSchemaNode> getUnknownSchemaNodes() {
74 return ImmutableList.of();
78 public Optional<String> getDescription() {
79 return Optional.empty();
83 public Optional<String> getReference() {
84 return Optional.empty();
88 public Status getStatus() {
89 return Status.CURRENT;
93 public boolean requireInstance() {