-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
- * =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END==========================================================================
- ******************************************************************************/
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
package org.onap.ccsdk.features.sdnr.wt.common.configuration.subtypes;
import java.util.ArrayList;
import org.onap.ccsdk.features.sdnr.wt.common.configuration.exception.ConversionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
+/**
+ *
+ * @author Michael Dürre, Herbert Eiselt
+ *
+ * subset of configuration identified by its name
+ */
public class Section {
+ // constants
private static final Logger LOG = LoggerFactory.getLogger(Section.class);
private static final String DELIMITER = "=";
private static final String COMMENTCHARS[] = {"#", ";"};
-
+ // end of constants
+
+ // variables
private final String name;
private final List<String> rawLines;
private final LinkedHashMap<String, SectionValue> values;
-
+ // end of variables
+
+ // constructors
public Section(String name) {
LOG.debug("new section created: '{}'", name);
this.name = name;
this.rawLines = new ArrayList<>();
this.values = new LinkedHashMap<>();
}
+ //end of constructors
+
+ // getters and setters
+ public String getName() {
+ return name;
+ }
+ // end of getters and setters
+ // private methods
+ private boolean isCommentLine(String line) {
+ for (String c : COMMENTCHARS) {
+ if (line.startsWith(c)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ // end of private methods
+
+ // public methods
public void addLine(String line) {
LOG.trace("adding raw line:" + line);
this.rawLines.add(line);
return value;
}
- public String getName() {
- return name;
- }
+
public void setProperty(String key, String value) {
boolean isuncommented = this.isCommentLine(key);
}
}
- private boolean isCommentLine(String line) {
- for (String c : COMMENTCHARS) {
- if (line.startsWith(c)) {
- return true;
- }
- }
- return false;
- }
+
public String[] toLines() {
List<String> lines = new ArrayList<>();
public String toString() {
return "Section [name=" + name + ", rawLines=" + rawLines + ", values=" + values + "]";
}
+ // end of public methods
}