Example usage for org.eclipse.jdt.core.formatter DefaultCodeFormatterConstants INDENT_DEFAULT

List of usage examples for org.eclipse.jdt.core.formatter DefaultCodeFormatterConstants INDENT_DEFAULT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.formatter DefaultCodeFormatterConstants INDENT_DEFAULT.

Prototype

int INDENT_DEFAULT

To view the source code for org.eclipse.jdt.core.formatter DefaultCodeFormatterConstants INDENT_DEFAULT.

Click Source Link

Document

 FORMATTER / The wrapping is done by using the current indentation. 

Usage

From source file:org.eclipse.che.jdt.quickfix.LocalCorrectionsQuickFixTest.java

License:Open Source License

@Test
public void testUndefinedConstructorWithLineBreaks() throws Exception {
    Hashtable hashtable = JavaCore.getOptions();
    hashtable.put(DefaultCodeFormatterConstants.FORMATTER_LINE_SPLIT, "30");
    String optionValue = DefaultCodeFormatterConstants.createAlignmentValue(false,
            DefaultCodeFormatterConstants.WRAP_ONE_PER_LINE, DefaultCodeFormatterConstants.INDENT_DEFAULT);
    hashtable.put(DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_PARAMETERS_IN_CONSTRUCTOR_DECLARATION,
            optionValue);/* w w w . j  a  va2 s  .  co  m*/
    hashtable.put(DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_ARGUMENTS_IN_EXPLICIT_CONSTRUCTOR_CALL,
            optionValue);
    JavaCore.setOptions(hashtable);

    IPackageFragment pack1 = fSourceFolder.createPackageFragment("test1", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package test1;\n");
    buf.append("public class F {\n");
    buf.append("    public F(Runnable runnable, boolean isGreen, boolean isBlue, boolean isRed) {\n");
    buf.append("    }\n");
    buf.append("}\n");
    pack1.createCompilationUnit("F.java", buf.toString(), false, null);

    buf = new StringBuffer();
    buf.append("package test1;\n");
    buf.append("public class E extends F {\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("E.java", buf.toString(), false, null);

    CompilationUnit astRoot = getASTRoot(cu);
    ArrayList proposals = collectCorrections(cu, astRoot);
    assertNumberOfProposals(proposals, 1);
    assertCorrectLabels(proposals);

    CUCorrectionProposal proposal = (CUCorrectionProposal) proposals.get(0);
    String preview = getPreviewContent(proposal);

    buf = new StringBuffer();
    buf.append("package test1;\n");
    buf.append("public class E extends F {\n");
    buf.append("\n");
    buf.append("    public E(\n");
    buf.append("            Runnable runnable,\n");
    buf.append("            boolean isGreen,\n");
    buf.append("            boolean isBlue,\n");
    buf.append("            boolean isRed) {\n");
    buf.append("        super(\n");
    buf.append("                runnable,\n");
    buf.append("                isGreen,\n");
    buf.append("                isBlue,\n");
    buf.append("                isRed);\n");
    buf.append("    }\n");
    buf.append("}\n");
    assertEqualString(preview, buf.toString());
}

From source file:org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelper.java

License:Open Source License

/**
 * Gets JavaCore options from JavaCore and updates tab and indentation settings from ControlModel.
 * /*  ww w .j  a  va 2s.  c  om*/
 * @return map of options
 * 
 * @see #getJavaCoreOptions()
 * @see JavaCore#getOptions()
 * @see JControlModel#getLeadingTabReplacement()
 */
private Map<?, ?> getDefaultJavaCoreOptions() {
    Map<Object, String> javaCoreOptions = new HashMap<Object, String>(JavaCore.getOptions());

    // Set of options that we want to copy from the current definition or use defaults
    //
    if (compilerCompliance != null) {
        javaCoreOptions.put(JavaCore.COMPILER_COMPLIANCE, compilerCompliance);
        javaCoreOptions.put(JavaCore.COMPILER_SOURCE, compilerCompliance);
        javaCoreOptions.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, compilerCompliance);
    } else {
        useCurrentOption(javaCoreOptions, JavaCore.COMPILER_COMPLIANCE, "1.5");
        useCurrentOption(javaCoreOptions, JavaCore.COMPILER_SOURCE, "1.5");
        useCurrentOption(javaCoreOptions, JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, "1.5");
    }
    useCurrentOption(javaCoreOptions, DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    useCurrentOption(javaCoreOptions, DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "2");
    useCurrentOption(javaCoreOptions, DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, "2");

    javaCoreOptions.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, "enabled");

    if (getControlModel() != null) {
        String indent = getControlModel().getLeadingTabReplacement();
        if (indent != null && indent.length() > 0) {
            String size = Integer.toString(indent.length());
            if (indent.charAt(0) == '\t') {
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.TAB);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, size);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, size);
            } else if (indent.charAt(0) == ' ') {
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, size);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, size);
            } else {
                if (DEBUG) {
                    logInfo("Unable to recognize indent string, using java core options.");
                }
            }
        } else {
            if (DEBUG) {
                logInfo("Indent is not set, using java core options.");
            }
        }
    }

    if (DEBUG) {
        logInfo("Tab char: " + javaCoreOptions.get(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR)
                + ", Indent size: " + javaCoreOptions.get(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE)
                + ", Tab size: "
                + javaCoreOptions.get(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE));
    }

    // Set of options that we want to control
    javaCoreOptions.put("org.eclipse.jdt.core.incompleteClasspath", "warning");
    javaCoreOptions.put("org.eclipse.jdt.core.circularClasspath", "warning");
    //
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_ENUM_DECLARATION,
            DefaultCodeFormatterConstants.NEXT_LINE);
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_TYPE_DECLARATION,
            DefaultCodeFormatterConstants.NEXT_LINE);

    // separate fields with an empty line
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_BLANK_LINES_BEFORE_FIELD, "1");

    // make all enum constants to be on separate lines
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_ENUM_CONSTANTS,
            DefaultCodeFormatterConstants.createAlignmentValue(true,
                    DefaultCodeFormatterConstants.WRAP_ONE_PER_LINE,
                    DefaultCodeFormatterConstants.INDENT_DEFAULT));

    return javaCoreOptions;
}

From source file:org.eclipse.ocl.examples.build.utilities.StandaloneASTFacadeHelper.java

License:Open Source License

/**
 * Gets JavaCore options from JavaCore and updates tab and indentation
 * settings from ControlModel./*from w  w w .  j ava 2 s  .  co m*/
 * 
 * @return map of options
 * 
 * @see #getJavaCoreOptions()
 * @see JavaCore#getOptions()
 * @see JControlModel#getLeadingTabReplacement()
 */
@SuppressWarnings("unchecked")
private Map<?, ?> getDefaultJavaCoreOptions() {
    String compilerCompliance = JavaCore.VERSION_1_5;
    Map<Object, String> javaCoreOptions = JavaCore.getOptions();

    // Set of options that we want to copy from the current definition
    javaCoreOptions.put(JavaCore.COMPILER_COMPLIANCE, compilerCompliance);
    javaCoreOptions.put(JavaCore.COMPILER_SOURCE, compilerCompliance);
    javaCoreOptions.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, compilerCompliance);
    useCurrentOption(javaCoreOptions, DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    useCurrentOption(javaCoreOptions, DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "2");
    useCurrentOption(javaCoreOptions, DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, "2");

    if (getControlModel() != null) {
        String indent = getControlModel().getLeadingTabReplacement();
        if (indent != null && indent.length() > 0) {
            String size = Integer.toString(indent.length());
            if (indent.charAt(0) == '\t') {
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.TAB);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, size);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, size);
            } else if (indent.charAt(0) == ' ') {
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, size);
                javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, size);
            } else {
                if (DEBUG) {
                    logInfo("Unable to recognize indent string, using java core options.");
                }
            }
        } else {
            if (DEBUG) {
                logInfo("Indent is not set, using java core options.");
            }
        }
    }

    if (DEBUG) {
        logInfo("Tab char: " + javaCoreOptions.get(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR)
                + ", Indent size: " + javaCoreOptions.get(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE)
                + ", Tab size: "
                + javaCoreOptions.get(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE));
    }

    // Set of options that we want to control
    javaCoreOptions.put("org.eclipse.jdt.core.incompleteClasspath", "warning");
    javaCoreOptions.put("org.eclipse.jdt.core.circularClasspath", "warning");
    //
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_ENUM_DECLARATION,
            DefaultCodeFormatterConstants.NEXT_LINE);
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_TYPE_DECLARATION,
            DefaultCodeFormatterConstants.NEXT_LINE);

    // separate fields with an empty line
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_BLANK_LINES_BEFORE_FIELD, "1");

    // make all enum constants to be on separate lines
    javaCoreOptions.put(DefaultCodeFormatterConstants.FORMATTER_ALIGNMENT_FOR_ENUM_CONSTANTS,
            DefaultCodeFormatterConstants.createAlignmentValue(true,
                    DefaultCodeFormatterConstants.WRAP_ONE_PER_LINE,
                    DefaultCodeFormatterConstants.INDENT_DEFAULT));

    return javaCoreOptions;
}