Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*******************************************************************************
 * Copyright (c) 2002-2005 IBM Corporation and others.
 * All rights reserved.   This program and the accompanying materials
 * are 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:
 *   IBM - Initial API and implementation
 *******************************************************************************/

import java.util.Vector;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

public class Main {
    /**
     * The method return list of child elements.
     * 
     * @param parent an org.w3c.dom.Element object.
     * @return list of child elements.
     */
    static public Vector getChildElements(Element parent) {
        if (parent == null)
            throw new IllegalArgumentException("Element can not be NULL");

        Vector vect = new Vector();
        Element elem = getFirstChild(parent);
        while (elem != null) {
            vect.add(elem);
            elem = getNextSibling(elem);
        }
        return vect;
    }

    /**
     * Get the first child element from the input elment.
     * 
     * @param element an Element object.
     * @return the firstchild element.
     */
    public static Element getFirstChild(Element element) {
        // Return the first child element
        return findNextSibling(element.getFirstChild());
    }

    /**
     * Get the next sibling element.
     * 
     * @param element - an Element object.
     * @return the next sibling element.
     */
    public static Element getNextSibling(Element element) {
        // Return next sibling element
        return findNextSibling(element.getNextSibling());
    }

    /**
     * Find the next sibling element.
     * 
     * @param startNode XML start node.
     * @return the next sibling element.
     */
    protected static Element findNextSibling(Node startNode) {
        Node node = null;
        Element returnElement = null;

        // Find the next sibling element
        for (node = startNode; node != null && returnElement == null; node = node.getNextSibling()) {
            // If this node is an element node, then return it
            if (node.getNodeType() == Node.ELEMENT_NODE) {
                returnElement = (Element) node;
            }
        }

        // Return next sibling element
        return (Element) returnElement;
    }
}