2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2024 Ericsson
4 * Modifications Copyright (C) 2024 OpenInfra Foundation Europe
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
21 package org.oran.smo.yangtools.parser.yanglibrary;
23 import java.util.ArrayList;
24 import java.util.Collections;
25 import java.util.List;
27 import org.oran.smo.yangtools.parser.data.dom.YangDataDomNode;
30 * Represents the (deprecated) "modules-state" data node as defined in RFC 8525
31 * (https://datatracker.ietf.org/doc/html/rfc8525)
32 * and as originally defined in RFC 7895.
34 * @author Mark Hollmann
36 public class ModulesState {
38 private final YangDataDomNode mountPoint;
40 private String moduleSetId;
41 private List<Module> modules = new ArrayList<>();
43 public ModulesState(final YangDataDomNode mountPoint) {
44 this.mountPoint = mountPoint;
47 public YangDataDomNode getMountPoint() {
51 public void setModuleSetId(final String moduleSetId) {
52 this.moduleSetId = moduleSetId;
55 public String getModuleSetId() {
59 public void addModule(final Module module) {
63 public List<Module> getModules() {
64 return Collections.unmodifiableList(modules);