Example usage for org.eclipse.jdt.internal.core.dom.rewrite NodeInfoStore markAsStringPlaceholder

List of usage examples for org.eclipse.jdt.internal.core.dom.rewrite NodeInfoStore markAsStringPlaceholder

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core.dom.rewrite NodeInfoStore markAsStringPlaceholder.

Prototype

public final void markAsStringPlaceholder(ASTNode placeholder, String code) 

Source Link

Document

Marks a node as a placehoder for a plain string content.

Usage

From source file:org.flowerplatform.codesync.code.java.adapter.JavaAbstractAstNodeModelAdapter.java

License:Open Source License

protected void setJavaDoc(Object element, String docComment) {
    if (element instanceof BodyDeclaration) {
        BodyDeclaration node = (BodyDeclaration) element;
        try {//  ww  w. j ava  2 s  . c  om
            Class ast = node.getAST().getClass();
            Field rewriterField = ast.getDeclaredField("rewriter");
            rewriterField.setAccessible(true);
            Object rewriter = rewriterField.get(node.getAST());
            Field storeField = rewriter.getClass().getDeclaredField("nodeStore");
            storeField.setAccessible(true);
            NodeInfoStore store = (NodeInfoStore) storeField.get(rewriter);
            ASTNode javadoc = store.newPlaceholderNode(ASTNode.JAVADOC);
            store.markAsStringPlaceholder(javadoc, docComment);
            node.setJavadoc((Javadoc) javadoc);
        } catch (NoSuchFieldException | SecurityException | IllegalArgumentException
                | IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }
}