android-ngn-stack/src/main/java/org/doubango/ngn/datatype/mo/Node.java
c732d49e
 /*
  *
74ca6d11
  *   Copyright (C) 2020, University of the Basque Country (UPV/EHU)
c732d49e
  *
  *  Contact for licensing options: <licensing-mcpttclient(at)mcopenplatform(dot)com>
  *
  *  This file is part of MCOP MCPTT Client
  *
  *  This is free software: you can redistribute it and/or modify it under the terms of
  *  the GNU General Public License as published by the Free Software Foundation, either version 3
  *  of the License, or (at your option) any later version.
  *
  *  This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  *  See the GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License along
  *  with this program; if not, write to the Free Software Foundation, Inc.,
  *  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
 
 
 package org.doubango.ngn.datatype.mo;
 
 import org.simpleframework.xml.Element;
 import org.simpleframework.xml.ElementList;
 import org.simpleframework.xml.Root;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 
 @Root(strict=false, name = "Node")
 public class Node {
 
     @Element(required = false , name = "NodeName")
     protected String nodeName;
     @Element(required = false , name = "Path")
     protected String path;
     @Element(required = false , name = "RTProperties")
     protected RTProperties rtProperties;
     @Element(required = false , name = "DFProperties")
     protected DFProperties dfProperties;
 
 
     @ElementList(required=false,inline=true,entry = "Node")
     protected List<Node> node;
     //protected Map<String,Node> nodeMap;
     @ElementList(required=false,inline=true,entry = "Value")
     protected List<Value> value;
 
 
     /**
      * Obtiene el valor de la propiedad nodeName.
      * 
      * @return
      *     possible object is
      *     {@link String }
      *     
      */
     public String getNodeName() {
         return nodeName;
     }
 
     /**
      * Define el valor de la propiedad nodeName.
      * 
      * @param value
      *     allowed object is
      *     {@link String }
      *     
      */
     public void setNodeName(String value) {
         this.nodeName = value;
     }
 
     /**
      * Obtiene el valor de la propiedad path.
      * 
      * @return
      *     possible object is
      *     {@link String }
      *     
      */
     public String getPath() {
         return path;
     }
 
     /**
      * Define el valor de la propiedad path.
      * 
      * @param value
      *     allowed object is
      *     {@link String }
      *     
      */
     public void setPath(String value) {
         this.path = value;
     }
 
     /**
      * Obtiene el valor de la propiedad rtProperties.
      * 
      * @return
      *     possible object is
      *     {@link RTProperties }
      *     
      */
     public RTProperties getRTProperties() {
         return rtProperties;
     }
 
     /**
      * Define el valor de la propiedad rtProperties.
      * 
      * @param value
      *     allowed object is
      *     {@link RTProperties }
      *     
      */
     public void setRTProperties(RTProperties value) {
         this.rtProperties = value;
     }
 
     /**
      * Obtiene el valor de la propiedad dfProperties.
      * 
      * @return
      *     possible object is
      *     {@link DFProperties }
      *     
      */
     public DFProperties getDFProperties() {
         return dfProperties;
     }
 
     public List<Node> getNode() {
         if(node==null)node=new ArrayList<>();
         return node;
     }
 
     public void setNode(List<Node> node) {
 
         this.node = node;
     }
 /*
     public Map<String,Node> getNodeMap() {
         if(nodeMap==null)nodeMap=generateMapNode(node);
         return nodeMap;
     }
 */
     public void setNode(Map<String,Node> node) {
         this.node = new ArrayList<>(node.values());
     }
 
     public List<Value> getValue() {
         return value;
     }
 
     public void setValue(List<Value> value) {
         this.value = value;
     }
 
     private static Map<String,Node> generateMapNode(List<Node> nodes){
         Map<String,Node> stringNodeMap=new HashMap<>();
         if(nodes!=null){
             for(Node node:nodes){
                 if(node!=null && node.getNodeName()!=null && !node.getNodeName().isEmpty()){
                     stringNodeMap.put(node.getNodeName(),node);
                 }
             }
 
         }
 
         return stringNodeMap;
     }
 
 }