Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/******************************************************************************* 
 * Copyright (c) 2007-2012 Red Hat, Inc. 
 * Distributed under license by Red Hat, Inc. All rights reserved. 
 * This program is made available under the terms of the 
 * Eclipse Public License v1.0 which accompanies this distribution, 
 * and is available at http://www.eclipse.org/legal/epl-v10.html 
 * 
 * Contributors: 
 *     Red Hat, Inc. - initial API and implementation 
 ******************************************************************************/

import java.util.ArrayList;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Main {
    public static Element createElement(Element parent, String path) {
        int i = path.indexOf('.');
        if (i < 0) {
            Element element = parent.getOwnerDocument().createElement(path);
            parent.appendChild(element);
            return element;
        }
        String p = path.substring(0, i), c = path.substring(i + 1);
        Element pe = getUniqueChild(parent, p);
        if (pe == null) {
            pe = parent.getOwnerDocument().createElement(p);
            parent.appendChild(pe);
        }
        return createElement(pe, c);
    }

    public static Element getUniqueChild(Element parent, String name) {
        Element[] e = getChildren(parent, name);
        return (e.length == 0) ? null : e[0];
    }

    public static Element[] getChildren(Element parent, String name) {
        ArrayList<Element> al = new ArrayList<Element>();
        NodeList nl = parent.getChildNodes();
        for (int i = 0; i < nl.getLength(); i++) {
            Node n = nl.item(i);
            if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equals(name)) {
                al.add((Element) n);
            }
        }
        return al.toArray(new Element[0]);
    }
}