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

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

Introduction

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

Prototype

String FORMATTER_TAB_CHAR

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

Click Source Link

Document

 FORMATTER / Option to specify the tabulation size - option id:         "org.eclipse.jdt.core.formatter.tabulation.char" - possible values:   { TAB, SPACE, MIXED } - default:           TAB 
More values may be added in the future.

Usage

From source file:org.eclipse.emf.codegen.ecore.generator.Generator.java

License:Open Source License

/**
 * Returns a {@link org.eclipse.emf.codegen.merge.java.JControlModel JControlModel} that the generator's adapters can
 * use for merging. It is initialized with the {@link Options#mergerFacadeHelperClass facade helper class} and
 * {@link Options#mergeRulesURI merge rules URI} specified in the {@link #getOptions() options}.
 * /* ww  w.  ja v a2  s  . com*/
 * @see #getOptions()
 * @see Options#mergerFacadeHelperClass
 * @see Options#mergeRulesURI
 */
public JControlModel getJControlModel() {
    if (jControlModel == null) {
        jControlModel = new JControlModel();
    }

    String facadeHelperClass = options.mergerFacadeHelperClass;
    if (!badFacadeHelperClasses.contains(facadeHelperClass) && (jControlModel.getFacadeHelper() == null
            || !jControlModel.getFacadeHelper().getClass().getName().equals(facadeHelperClass))) {
        FacadeHelper facadeHelper = CodeGenUtil.instantiateFacadeHelper(facadeHelperClass);
        if (facadeHelper == null) {
            badFacadeHelperClasses.add(facadeHelperClass);
        } else {
            if (input instanceof GenModel) {
                GenModel genModel = (GenModel) input;
                switch (genModel.getComplianceLevel()) {
                case JDK14_LITERAL: {
                    facadeHelper.setCompilerCompliance(JavaCore.VERSION_1_4);
                    break;
                }
                case JDK50_LITERAL: {
                    facadeHelper.setCompilerCompliance(JavaCore.VERSION_1_5);
                    break;
                }
                case JDK60_LITERAL: {
                    facadeHelper.setCompilerCompliance(JavaCore.VERSION_1_6);
                    break;
                }
                case JDK70_LITERAL: {
                    facadeHelper.setCompilerCompliance(JavaCore.VERSION_1_7);
                    break;
                }
                case JDK80_LITERAL: {
                    facadeHelper.setCompilerCompliance("1.8");
                    break;
                }
                }

                if (genModel.isCodeFormatting()) {
                    jControlModel.setLeadingTabReplacement(null);
                    jControlModel.setConvertToStandardBraceStyle(false);
                } else {
                    Map<String, String> options = GenModelUtil.getJavaOptions(genModel);
                    String tabSize = options.get(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE);
                    String braceStyle = options
                            .get(DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_TYPE_DECLARATION);
                    String tabCharacter = options.get(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR);
                    if (JavaCore.TAB.equals(tabCharacter)) {
                        jControlModel.setLeadingTabReplacement("\t");
                    } else {
                        String spaces = "";
                        for (int i = Integer.parseInt(tabSize); i > 0; --i) {
                            spaces += " ";
                        }
                        jControlModel.setLeadingTabReplacement(spaces);
                    }
                    jControlModel.setConvertToStandardBraceStyle(
                            DefaultCodeFormatterConstants.END_OF_LINE.equals(braceStyle));
                }
            }
        }
        jControlModel.initialize(facadeHelper, options.mergeRulesURI);
    }
    return jControlModel;
}

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.
 * /*w w  w . j  a v  a2 s.  com*/
 * @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.emf.test.tools.merger.facade.BaseFacadeTest.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
protected void adjustJavaCoreOptions() {
    Hashtable options = JavaCore.getDefaultOptions();

    options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_5);
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "2");
    options.put(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, "2");

    JavaCore.setOptions(options);/*w ww  . j ava2s.c o m*/
}

From source file:org.eclipse.emf.test.tools.merger.JMergerTest.java

License:Open Source License

/**
 * @param jControlModel/*from  w ww.  jav  a  2 s.  co  m*/
 */
@SuppressWarnings("rawtypes")
protected void applyGenModelEditorFormattingSettings(
        org.eclipse.emf.codegen.merge.java.JControlModel jControlModel) {
    if (EMFPlugin.IS_ECLIPSE_RUNNING) {
        Map options = JavaCore.getOptions();
        String tabSize = (String) options.get(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE);
        String braceStyle = (String) options
                .get(DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_TYPE_DECLARATION);
        String tabCharacter = (String) options.get(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR);
        if (JavaCore.TAB.equals(tabCharacter)) {
            jControlModel.setLeadingTabReplacement("\t");
        } else {
            String spaces = "";
            for (int i = Integer.parseInt(tabSize); i > 0; --i) {
                spaces += " ";
            }
            jControlModel.setLeadingTabReplacement(spaces);
        }
        jControlModel
                .setConvertToStandardBraceStyle(DefaultCodeFormatterConstants.END_OF_LINE.equals(braceStyle));
    }
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.AddUnimplementedMethodsTest.java

License:Open Source License

protected void setUp() throws Exception {
    fJavaProject = JavaProjectHelper.createJavaProject("DummyProject", "bin");
    assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));

    Hashtable options = TestOptions.getDefaultOptions();
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
    options.put(DefaultCodeFormatterConstants.FORMATTER_LINE_SPLIT, "999");
    fJavaProject.setOptions(options);/*  www .  java2 s.  c  om*/

    StubUtility.setCodeTemplate(CodeTemplateContextType.METHODSTUB_ID, "${body_statement}\n// TODO", null);

    IPackageFragmentRoot root = JavaProjectHelper.addSourceContainer(fJavaProject, "src");
    fPackage = root.createPackageFragment("org.eclispe.objectteams.util", true, null);

    IEclipsePreferences node = new ProjectScope(fJavaProject.getProject()).getNode(JavaUI.ID_PLUGIN);
    node.putBoolean(PreferenceConstants.CODEGEN_USE_OVERRIDE_ANNOTATION, false);
    node.putBoolean(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
    node.flush();
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.CodeCompletionTest.java

License:Open Source License

@SuppressWarnings("unchecked")
protected void setUp() throws Exception {
    fJProject1 = JavaProjectHelper.createOTJavaProject("OTTestProject1", "bin");
    JavaProjectHelper.addRTJar(fJProject1);
    JavaProjectHelper.addRequiredProject(fJProject1, ProjectTestSetup.getProject());

    Hashtable<String, String> options = TestOptions.getDefaultOptions();
    options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, "1");
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
    options.put(JavaCore.CODEASSIST_FIELD_PREFIXES, "f");
    JavaCore.setOptions(options);/*from ww  w .  j  av a  2 s  .  com*/

    IPreferenceStore store = JavaPlugin.getDefault().getPreferenceStore();
    store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, true);
    store.setValue(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, false);
    store.setValue(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, false);

    StubUtility.setCodeTemplate(CodeTemplateContextType.OVERRIDECOMMENT_ID,
            "/* (non-Javadoc)\n * ${see_to_overridden}\n */", null); // TODO(SH): this one is currently used for method bindings, see TODO in CompletionAdaptor.Stubs#createCallout
    StubUtility.setCodeTemplate(CodeTemplateContextType.DELEGATECOMMENT_ID,
            "/* (non-Javadoc)\n * ${see_to_target}\n */", null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.METHODSTUB_ID, "//TODO\n${body_statement}", null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.CONSTRUCTORCOMMENT_ID, "/**\n * Constructor.\n */",
            null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.METHODCOMMENT_ID, "/**\n * Method.\n */", null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.CONSTRUCTORSTUB_ID, "//TODO\n${body_statement}", null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.GETTERCOMMENT_ID,
            "/**\n * @return the ${bare_field_name}\n */", fJProject1);
    StubUtility.setCodeTemplate(CodeTemplateContextType.SETTERCOMMENT_ID,
            "/**\n * @param ${param} the ${bare_field_name} to set\n */", fJProject1);

    fBeforeImports = "";
    fAfterImports = "";
    fMembers = "";
    fLocals = "";
    fTrigger = '\0';
    fWaitBeforeCompleting = false;
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OTJavadocQuickFixTest.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from www .  j  a va2s.c  o m
protected void setUp() throws Exception {
    Hashtable options = TestOptions.getDefaultOptions();
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
    options.put(JavaCore.COMPILER_PB_INVALID_JAVADOC, JavaCore.ERROR);
    options.put(JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS, JavaCore.ENABLED);
    options.put(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS, JavaCore.ERROR);
    options.put(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS, JavaCore.ERROR);
    options.put(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING, JavaCore.ENABLED);
    JavaCore.setOptions(options);

    StringBuffer comment = new StringBuffer();
    comment.append("/**\n");
    comment.append(" * A comment.\n");
    comment.append(" * ${tags}\n");
    comment.append(" */");
    String res = comment.toString();
    StubUtility.setCodeTemplate(CodeTemplateContextType.CONSTRUCTORCOMMENT_ID, res, null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.METHODCOMMENT_ID, res, null);
    StubUtility.setCodeTemplate(CodeTemplateContextType.TYPECOMMENT_ID, res, null);

    comment = new StringBuffer();
    comment.append("/**\n");
    comment.append(" * A field comment for ${field}.\n");
    comment.append(" */");
    StubUtility.setCodeTemplate(CodeTemplateContextType.FIELDCOMMENT_ID, comment.toString(), null);

    comment = new StringBuffer();
    comment.append("/**\n");
    comment.append(" * A override comment.\n");
    comment.append(" * ${see_to_overridden}\n");
    comment.append(" */");
    StubUtility.setCodeTemplate(CodeTemplateContextType.OVERRIDECOMMENT_ID, comment.toString(), null);

    comment = new StringBuffer();
    comment.append("/**\n");
    comment.append(" * A delegate comment.\n");
    comment.append(" * ${see_to_target}\n");
    comment.append(" */");
    StubUtility.setCodeTemplate(CodeTemplateContextType.DELEGATECOMMENT_ID, comment.toString(), null);

    fJProject1 = ProjectTestSetup.getProject();

    fSourceFolder = JavaProjectHelper.addSourceContainer(fJProject1, "src");

    //{ObjectTeams: add the OTRE:
    JavaProjectHelper.addLibrary(fJProject1, new Path(OTRE_JAR_PATH));
    // SH}
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OTQuickFixTest.java

License:Open Source License

@SuppressWarnings("unchecked")
protected void addOptions(Hashtable options) {
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
    options.put(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER, JavaCore.ERROR);
}

From source file:org.eclipse.objectteams.otdt.ui.tests.refactoring.extractmethod.ExtractMethodTestSetup.java

License:Open Source License

@SuppressWarnings("unchecked")
protected void setUp() throws Exception {
    Hashtable options = TestOptions.getFormatterOptions();
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.TAB);
    options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, "0");
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
    JavaCore.setOptions(options);/*from   w w w.ja  va  2  s  .c  o m*/
    TestOptions.initializeCodeGenerationOptions();
    JavaPlugin.getDefault().getCodeTemplateStore().load();

    _javaProject = JavaProjectHelper.createOTJavaProject("TestProject", "bin");
    JavaProjectHelper.addRTJar(_javaProject);
    _root = JavaProjectHelper.addSourceContainer(_javaProject, CONTAINER);

    RefactoringCore.getUndoManager().flush();
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    IWorkspaceDescription description = workspace.getDescription();
    description.setAutoBuilding(false);
    workspace.setDescription(description);

    //new packages for OT/J tests
    _teamClassPackage = getRoot().createPackageFragment("team_in", true, null);
    _roleClassPackage = getRoot().createPackageFragment("role_in", true, null);
    _rolefilePackage = getRoot().createPackageFragment("roleFile_in.TeamWithRoleFile", true, null);
    _rolefileParentPackage = getRoot().createPackageFragment("roleFile_in", true, null);
    _nestedTeamPackage = getRoot().createPackageFragment("nestedTeam_in", true, null);
    _focusTypePackage = getRoot().createPackageFragment("focusType_in", true, null);
    _overloadingPackage = getRoot().createPackageFragment("overloading_in", true, null);
    _syntaxPackage = getRoot().createPackageFragment("syntax_in", true, null);

    //      _selectionPackage = getRoot().createPackageFragment("selection", true, null);
}

From source file:org.eclipse.objectteams.otdt.ui.tests.refactoring.extractmethod.ExtractTempTestSetup.java

License:Open Source License

protected void setUp() throws Exception {
    Hashtable options = TestOptions.getFormatterOptions();
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.TAB);
    options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, "0");
    options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
    JavaCore.setOptions(options);/* w  ww  .ja  v a  2s .  c  om*/
    TestOptions.initializeCodeGenerationOptions();
    JavaPlugin.getDefault().getCodeTemplateStore().load();

    _javaProject = JavaProjectHelper.createOTJavaProject("TestProject", "bin");
    JavaProjectHelper.addRTJar(_javaProject);
    _root = JavaProjectHelper.addSourceContainer(_javaProject, CONTAINER);

    RefactoringCore.getUndoManager().flush();
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    IWorkspaceDescription description = workspace.getDescription();
    description.setAutoBuilding(false);
    workspace.setDescription(description);

    //new packages for OT/J tests
    _statementsPackage = getRoot().createPackageFragment("statements_in", true, null);
}