Example usage for org.eclipse.jdt.core.jdom IDOMNode insertSibling

List of usage examples for org.eclipse.jdt.core.jdom IDOMNode insertSibling

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.jdom IDOMNode insertSibling.

Prototype

public void insertSibling(IDOMNode sibling) throws DOMException, IllegalArgumentException;

Source Link

Document

Inserts the given un-parented node as a sibling of this node, immediately before this node.

Usage

From source file:org.eclipse.emf.codegen.jet.JETSkeleton.java

License:Open Source License

public void setConstants(List<String> constants) {
    for (IDOMNode node = compilationUnit.getFirstChild(); node != null; node = node.getNextNode()) {
        if (node.getNodeType() == IDOMNode.TYPE) {
            String name = node.getName();
            IDOMNode insertionNode = node.getFirstChild();
            insertionNode.insertSibling(jdomFactory.createField(STATIC_NL_DECLARATION));
            insertionNode.insertSibling(jdomFactory.createMethod(
                    CREATE_METHOD_DECLARATION_HEAD + name + CREATE_METHOD_DECLARATION_MIDDLE + name
                            + CREATE_METHOD_DECLARATION_MIDDLE2 + name + CREATE_METHOD_DECLARATION_TAIL));
            insertionNode.insertSibling(
                    jdomFactory.createField(NL_DECLARATION + getNLString() + NL_DECLARATION_TAIL));
            for (Iterator<String> i = constants.iterator(); i.hasNext();) {
                String constant = "  " + i.next() + NL;
                if (!i.hasNext()) {
                    constant += NL;//  w w  w  .  j  av a  2  s  .  co  m
                }
                insertionNode.insertSibling(jdomFactory.createField(constant));
            }
            break;
        }
    }
}

From source file:org.eclipse.emf.codegen.jmerge.JMerger.java

License:Open Source License

protected IDOMNode insertClone(IDOMNode sourceNode) {
    IDOMNode targetNode = null;/*from   w w  w  .j  a v a 2s. c  o m*/
    switch (sourceNode.getNodeType()) {
    case IDOMNode.COMPILATION_UNIT: {
        targetNode = jdomFactory.createCompilationUnit(applyFormatRules(sourceNode.getContents()),
                ((IDOMCompilationUnit) sourceNode).getName());
        break;
    }
    case IDOMNode.PACKAGE: {
        targetNode = jdomFactory.createPackage(applyFormatRules(sourceNode.getContents()));
        break;
    }
    case IDOMNode.IMPORT: {
        targetNode = jdomFactory.createImport(applyFormatRules(sourceNode.getContents()));
        break;
    }
    case IDOMNode.TYPE: {
        targetNode = jdomFactory.createType(applyFormatRules(sourceNode.getContents()));
        break;
    }
    case IDOMNode.INITIALIZER: {
        targetNode = jdomFactory.createInitializer(applyFormatRules(sourceNode.getContents()));
        break;
    }
    case IDOMNode.FIELD: {
        targetNode = jdomFactory.createField(applyFormatRules(sourceNode.getContents()));
        break;
    }
    case IDOMNode.METHOD: {
        targetNode = jdomFactory.createMethod(applyFormatRules(sourceNode.getContents()));
        break;
    }
    default: {
        targetNode = (IDOMNode) sourceNode.clone();
        break;
    }
    }

    if (targetNode != null) {
        map(sourceNode, targetNode);
        mapChildren(sourceNode, targetNode);
    } else {
        // System.err.println("Warning: Cannot clone '" + sourceNode.getContents() + "'");
    }
    for (IDOMNode previousNode = sourceNode.getPreviousNode(); previousNode != null; previousNode = previousNode
            .getPreviousNode()) {
        IDOMNode targetSibling = (IDOMNode) sourceToTargetMap.get(previousNode);
        if (targetSibling != null) {
            IDOMNode targetNextSibling = targetSibling.getNextNode();
            if (targetNextSibling == null) {
                targetSibling.getParent().addChild(targetNode);
            } else {
                targetNextSibling.insertSibling(targetNode);
            }

            return targetNode;
        }
    }
    if (sourceNode.getParent() != null) {
        IDOMNode targetParent = (IDOMNode) sourceToTargetMap.get(sourceNode.getParent());
        IDOMNode targetSibling = targetParent.getFirstChild();
        if (targetSibling == null) {
            targetParent.addChild(targetNode);
        } else {
            targetSibling.insertSibling(targetNode);
        }
    }
    return targetNode;
}

From source file:org.eclipse.emf.codegen.merge.java.facade.jdom.JDOMFacadeHelper.java

License:Open Source License

@Override
public boolean insertSibling(JNode node, JNode sibiling, boolean before) {
    if (sibiling != null) {
        IDOMNode idomNode = getIDOMNode(node);
        if (!before) {
            idomNode = idomNode.getNextNode();
        }//from  ww w. jav  a 2s.c  o m
        IDOMNode idomSibiling = getIDOMNode(sibiling);
        idomNode.insertSibling(idomSibiling);
        return true;
    } else {
        return false;
    }
}