Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 1&1 Internet AG, http://www.1and1.org
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU Lesser General Public License as published by
   * the Free Software Foundation; either version 2 of the License,
   * or (at your option) any later version.
   *
   * This program 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 Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package net.sf.beezle.sushi.fs.webdav;
 
 
 import java.util.List;
 
 public class Property {
     public static Property fromXml(Element propertyElement) {
         Name name;
         Object value;
         List<?> content;
         
         name = Name.fromXml(propertyElement);
         content = getChildElementsOrTexts(propertyElement);
         switch (content.size()) {
             case 0:
             	value = null;
             	break;
             case 1:
                 Node n = (Nodecontent.get(0);
                 if (n instanceof Element) {
                     value = n;
                 } else {
                     value = n.getNodeValue();
                 }
                 break;
             default:
                 value = content;
                 break;
         }
         return new Property(namevalue);
     }
 
     private static List<NodegetChildElementsOrTexts(Node parent) {
         List<Nodecontent = new ArrayList<Node>();
         Node child;
 
         NodeList children = parent.getChildNodes();
         for (int i = 0; i < children.getLength(); i++) {
             child = children.item(i);
             if ((child instanceof Element) || (child instanceof Text)) {
                 content.add(child);
             }
         }
         return content;
     }
 
     private final Name name;
     private final Object value;
 
     public Property(Name nameObject value) {
         this. = name;
         this. = value;
     }
 
     public Object getValue() {
         return ;
     }
 
     @Override
     public int hashCode() {
         int hashCode = getName().hashCode();
         if (getValue() != null) {
             hashCode += getValue().hashCode();
         }
         return hashCode % .;
     }
 
     @Override
     public boolean equals(Object obj) {
         if (obj instanceof Property) {
             Property prop = (Propertyobj;
             boolean equalName = getName().equals(prop.getName());
             boolean equalValue = (getValue() == null) ? prop.getValue() == null : getValue().equals(prop.getValue());
             return equalName && equalValue;
        }
        return false;
    }
    public Element addXml(Element parent) {
    	Document document = parent.getOwnerDocument();
        Element elem = getName().addXml(parent);
        Object value = getValue();
        if (value != null) {
            if (value instanceof Node) {
                Node n = document.importNode((Node)valuetrue);
                elem.appendChild(n);
            } else if (value instanceof Node[]) {
                for (int i = 0; i < ((Node[])value).lengthi++) {
                    Node n = document.importNode(((Node[])value)[i], true);
                    elem.appendChild(n);
                }
            } else if (value instanceof Collection<?>) {
                for (Object entry : (Collection<?>) value) {
                    if (entry instanceof Node) {
                        Node n = document.importNode((Node)entrytrue);
                        elem.appendChild(n);
                    } else {
                        Dom.addTextOpt(elementry.toString());
                    }
                }
            } else {
                Dom.addTextOpt(elemvalue.toString());
            }
        }
        return elem;
    }
    public Name getName() {
        return ;
    }
New to GrepCode? Check out our FAQ X