Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
//License from project: Apache License 

import org.w3c.dom.Element;

import org.w3c.dom.Node;

public class Main {
    public static void moveUp(final Node currentN) {
        Node prevSibling = findPreviousElement(currentN, false);
        if (prevSibling != null) {
            Node parent = currentN.getParentNode();
            parent.removeChild(currentN);
            parent.insertBefore(currentN, prevSibling);
        }

    }

    public static Element findPreviousElement(final Node current, final boolean sameName) {
        String name = null;
        if (sameName) {
            name = current.getNodeName();
        }
        int type = Node.ELEMENT_NODE;
        return (Element) getPrevious(current, name, type);
    }

    public static Node getPrevious(final Node current, final boolean sameName) {
        String name = null;
        if (sameName) {
            name = current.getNodeName();
        }

        int type = current.getNodeType();
        return getPrevious(current, name, type);

    }

    public static Node getPrevious(final Node current, final String name, final int type) {
        Node prev = current.getPreviousSibling();
        if (prev == null) {
            return null;
        }

        for (Node node = prev; node != null; node = node.getPreviousSibling()) {

            if (type >= 0 && node.getNodeType() != type) {
                continue;
            } else {
                if (name == null) {
                    return node;
                }
                if (name.equals(node.getNodeName())) {
                    return node;
                }
            }
        }
        return null;
    }
}