750d4aabcb835e2cb33de210d9d174e23238e08d
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / mandatory / EmptyMandatoryEffectiveStatement.java
1 /**
2  * Copyright (c) 2015 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.yangtools.yang.parser.rfc7950.stmt.mandatory;
9
10 import com.google.common.collect.ImmutableList;
11 import java.util.Collection;
12 import java.util.Map;
13 import javax.annotation.Nonnull;
14 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
15 import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
16 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
17 import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
18 import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement;
19 import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
20
21 abstract class EmptyMandatoryEffectiveStatement implements MandatoryEffectiveStatement {
22     static final EmptyMandatoryEffectiveStatement FALSE = new EmptyMandatoryEffectiveStatement() {
23         @Override
24         public MandatoryStatement getDeclared() {
25             return EmptyMandatoryStatement.FALSE;
26         }
27     };
28
29     static final EmptyMandatoryEffectiveStatement TRUE = new EmptyMandatoryEffectiveStatement() {
30         @Override
31         public MandatoryStatement getDeclared() {
32             return EmptyMandatoryStatement.TRUE;
33         }
34     };
35
36     @Nonnull
37     @Override
38     public final StatementDefinition statementDefinition() {
39         return getDeclared().statementDefinition();
40     }
41
42     @Override
43     public final Boolean argument() {
44         return getDeclared().argument();
45     }
46
47     @Nonnull
48     @Override
49     public final StatementSource getStatementSource() {
50         return getDeclared().getStatementSource();
51     }
52
53     @Override
54     public final <K, V, N extends IdentifierNamespace<K, V>> V get(@Nonnull final Class<N> namespace,
55             @Nonnull final K identifier) {
56         throw new UnsupportedOperationException("Not implemented yet.");
57     }
58
59     @Override
60     public final <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(@Nonnull final Class<N> namespace) {
61         throw new UnsupportedOperationException("Not implemented yet.");
62     }
63
64     @Nonnull
65     @Override
66     public final Collection<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
67         return ImmutableList.of();
68     }
69 }