db64a13592721103367c7ca1ba9b4640d88b22b4
[mdsal.git] / binding / mdsal-binding-generator-impl / src / test / java / org / opendaylight / mdsal / binding / yang / types / LeafrefTypeWithNullToStringInXpath.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.binding.yang.types;
9
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;
20
21 /**
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.
25  */
26 public class LeafrefTypeWithNullToStringInXpath implements LeafrefTypeDefinition {
27     @Override
28     public PathExpression getPathStatement() {
29         return new PathExpression() {
30             @Override
31             public boolean isAbsolute() {
32                 return false;
33             }
34
35             @Override
36             public String getOriginalString() {
37                 return null;
38             }
39
40             @Override
41             public YangLocationPath getLocation() {
42                 throw new UnsupportedOperationException();
43             }
44         };
45     }
46
47     @Override
48     public LeafrefTypeDefinition getBaseType() {
49         return null;
50     }
51
52     @Override
53     public Optional<String> getUnits() {
54         return Optional.empty();
55     }
56
57     @Override
58     public Optional<? extends Object> getDefaultValue() {
59         return Optional.empty();
60     }
61
62     @Override
63     public QName getQName() {
64         throw new UnsupportedOperationException();
65     }
66
67     @Override
68     public SchemaPath getPath() {
69         throw new UnsupportedOperationException();
70     }
71
72     @Override
73     public List<UnknownSchemaNode> getUnknownSchemaNodes() {
74         return ImmutableList.of();
75     }
76
77     @Override
78     public Optional<String> getDescription() {
79         return Optional.empty();
80     }
81
82     @Override
83     public Optional<String> getReference() {
84         return Optional.empty();
85     }
86
87     @Override
88     public Status getStatus() {
89         return Status.CURRENT;
90     }
91
92     @Override
93     public boolean requireInstance() {
94         return false;
95     }
96 }