Bump yangtools to 3.0.8
[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
20 /**
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.
24  */
25 public class LeafrefTypeWithNullToStringInXpath implements LeafrefTypeDefinition {
26     @Override
27     public PathExpression getPathStatement() {
28         return new PathExpression() {
29             @Override
30             public boolean isAbsolute() {
31                 return false;
32             }
33
34             @Override
35             public String getOriginalString() {
36                 return null;
37             }
38
39             @Override
40             public Steps getSteps() {
41                 throw new UnsupportedOperationException();
42             }
43         };
44     }
45
46     @Override
47     public LeafrefTypeDefinition getBaseType() {
48         return null;
49     }
50
51     @Override
52     public Optional<String> getUnits() {
53         return Optional.empty();
54     }
55
56     @Override
57     public Optional<? extends Object> getDefaultValue() {
58         return Optional.empty();
59     }
60
61     @Override
62     public QName getQName() {
63         throw new UnsupportedOperationException();
64     }
65
66     @Override
67     public SchemaPath getPath() {
68         throw new UnsupportedOperationException();
69     }
70
71     @Override
72     public List<UnknownSchemaNode> getUnknownSchemaNodes() {
73         return ImmutableList.of();
74     }
75
76     @Override
77     public Optional<String> getDescription() {
78         return Optional.empty();
79     }
80
81     @Override
82     public Optional<String> getReference() {
83         return Optional.empty();
84     }
85
86     @Override
87     public Status getStatus() {
88         return Status.CURRENT;
89     }
90
91     @Override
92     public boolean requireInstance() {
93         return false;
94     }
95 }