2 * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.yangtools.yang.data.util;
10 import com.google.common.collect.ForwardingObject;
11 import com.google.common.collect.ImmutableSet;
12 import java.util.Collection;
13 import java.util.Optional;
14 import org.eclipse.jdt.annotation.NonNull;
15 import org.opendaylight.yangtools.yang.common.QName;
16 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
17 import org.opendaylight.yangtools.yang.model.api.ContainerLike;
18 import org.opendaylight.yangtools.yang.model.api.MustDefinition;
19 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
20 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
21 import org.opendaylight.yangtools.yang.model.api.Status;
22 import org.opendaylight.yangtools.yang.model.api.UsesNode;
23 import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
25 abstract class AbstractAsContainer extends ForwardingObject implements ContainerLike {
27 protected abstract @NonNull SchemaNode delegate();
30 public final Optional<String> getDescription() {
31 return delegate().getDescription();
35 public final Optional<String> getReference() {
36 return delegate().getReference();
40 public final Status getStatus() {
41 return delegate().getStatus();
45 public final QName getQName() {
46 return delegate().getQName();
51 public final boolean isAugmenting() {
57 public final boolean isAddedByUses() {
62 public final Optional<Boolean> effectiveConfig() {
63 return Optional.empty();
67 public final Collection<? extends ActionDefinition> getActions() {
68 return ImmutableSet.of();
72 public final Collection<? extends NotificationDefinition> getNotifications() {
73 return ImmutableSet.of();
77 public final Collection<? extends UsesNode> getUses() {
78 return ImmutableSet.of();
82 public final Collection<? extends @NonNull MustDefinition> getMustConstraints() {
83 return ImmutableSet.of();
87 public final Optional<? extends QualifiedBound> getWhenCondition() {
88 return Optional.empty();