Example usage for org.eclipse.jdt.core.dom TagElement FRAGMENTS_PROPERTY

List of usage examples for org.eclipse.jdt.core.dom TagElement FRAGMENTS_PROPERTY

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom TagElement FRAGMENTS_PROPERTY.

Prototype

ChildListPropertyDescriptor FRAGMENTS_PROPERTY

To view the source code for org.eclipse.jdt.core.dom TagElement FRAGMENTS_PROPERTY.

Click Source Link

Document

The "fragments" structural property of this node type (element type: IDocElement ).

Usage

From source file:org.eclipseguru.gwt.core.internal.codegen.AsyncServiceCodeGenerator.java

License:Open Source License

private void updateMethodJavadoc(final ASTRewrite cuRewrite, final MethodDeclaration md,
        final TextEditGroup textEditGroup) {
    // create javadoc
    final Javadoc javadoc = createJavadocIfNecessary(cuRewrite, md, textEditGroup);
    final ListRewrite javadocRewrite = cuRewrite.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY);

    // find last @param tag and remove @throws tags and @gwt.typeArgs tags
    ASTNode lastParamPos = null;/*ww  w . j ava  2s .  c  om*/
    boolean hasReturnTag = false;
    for (final Iterator stream = javadocRewrite.getOriginalList().iterator(); stream.hasNext();) {
        final TagElement element = (TagElement) stream.next();
        if (null != element.getTagName()) {
            final String tagName = element.getTagName();
            if (tagName.equals(TAG_PARAM)) {
                lastParamPos = element;
            } else if (tagName.equals(TAG_RETURN) && !element.fragments().isEmpty()) {
                hasReturnTag = true;
                cuRewrite.set(element, TagElement.TAG_NAME_PROPERTY, TAG_GWT_CALLBACK_RETURN, textEditGroup);
            } else if (tagName.equals(TAG_THROWS) || tagName.equals(TAG_GWT_TYPE_ARGS)) {
                javadocRewrite.remove(element, textEditGroup);
            }
        }
    }

    // create @param callback
    final TagElement callbackParamTag = cuRewrite.getAST().newTagElement();
    if (null != lastParamPos) {
        javadocRewrite.insertAfter(callbackParamTag, lastParamPos, textEditGroup);
    } else {
        javadocRewrite.insertLast(callbackParamTag, textEditGroup);
    }
    cuRewrite.set(callbackParamTag, TagElement.TAG_NAME_PROPERTY, TAG_PARAM, textEditGroup);
    final ListRewrite tagRewrite = cuRewrite.getListRewrite(callbackParamTag, TagElement.FRAGMENTS_PROPERTY);
    final TextElement space = cuRewrite.getAST().newTextElement();
    tagRewrite.insertFirst(space, textEditGroup);
    final SimpleName callbackName = cuRewrite.getAST().newSimpleName(CALLBACK);
    tagRewrite.insertAfter(callbackName, space, textEditGroup);
    final TextElement callbackDescription = cuRewrite.getAST().newTextElement();
    callbackDescription.setText("the callback that will be called to receive the return value");
    tagRewrite.insertAfter(callbackDescription, callbackName, textEditGroup);
    if (hasReturnTag) {
        final TextElement text = cuRewrite.getAST().newTextElement();
        text.setText(NLS.bind("(see <code>{0}</code> tag)", TAG_GWT_CALLBACK_RETURN));
        tagRewrite.insertAfter(text, callbackDescription, textEditGroup);
    }

    // add @generated tag
    javadocRewrite.insertLast(createGeneratedTagForMethod(cuRewrite), textEditGroup);
}

From source file:org.moe.natjgen.XcodeFullDocumentation.java

License:Apache License

private void addTag(Javadoc doc, ASTRewrite rewrite, String tag, String string) {
    if (string == null)
        return;/*from w  w  w  .jav  a2s .  c  o  m*/

    ListRewrite lrw = rewrite.getListRewrite(doc, Javadoc.TAGS_PROPERTY);

    TagElement t = rewrite.getAST().newTagElement();
    lrw.insertLast(t, editGroup);
    if (tag != null) {
        rewrite.set(t, TagElement.TAG_NAME_PROPERTY, tag, editGroup);
    }

    ListRewrite fragments = rewrite.getListRewrite(t, TagElement.FRAGMENTS_PROPERTY);
    TextElement text = rewrite.getAST().newTextElement();
    fragments.insertLast(text, editGroup);
    rewrite.set(text, TextElement.TEXT_PROPERTY, string, editGroup);
}