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.RevisionAwareXPath;
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 RevisionAwareXPath getPathStatement() {
28 return new RevisionAwareXPath() {
30 public boolean isAbsolute() {
35 public String toString() {
42 public LeafrefTypeDefinition getBaseType() {
47 public Optional<String> getUnits() {
48 return Optional.empty();
52 public Optional<? extends Object> getDefaultValue() {
53 return Optional.empty();
57 public QName getQName() {
58 throw new UnsupportedOperationException();
62 public SchemaPath getPath() {
63 throw new UnsupportedOperationException();
67 public List<UnknownSchemaNode> getUnknownSchemaNodes() {
68 return ImmutableList.of();
72 public Optional<String> getDescription() {
73 return Optional.empty();
77 public Optional<String> getReference() {
78 return Optional.empty();
82 public Status getStatus() {
83 return Status.CURRENT;
87 public boolean requireInstance() {