Jindent 3.5, Jindent 3.5 Gold 1.1.0 released
Changes/New Features in Jindent 3.5
- A completely new license scheme.
- Jindent works much faster now (up to 200%).
- JAVA 1.4 grammar support added (
assertkeyword support). - New assert property switches:
spaceBeforeAssertColon = boolean spaceAfterAssertColon = boolean
- New filter support provides that Jindent can be used with extended Java dialects like Java with SQLJ. Providing an Open Filter API Jindent empowers you to write your own pre-/postprocessing filters. Support for SQLJ is included as an example filter.
- New filter switches:
blankLinesBeforeFilteredCode = n blankLinesAfterFilteredCode = n
- Improved line wrapping in long
for-statements.
- Wrapping long method names has a lower priority now.
- The style of multiple semicolons
;;;;;will be preserved now.
- New keys for bang
!and tilde~:
spaceBeforeBang = boolean spaceAfterBang = boolean spaceBeforeBangAfterAndOr = boolean spaceAfterBangAfterAndOr = boolean spaceBeforeTilde = boolean spaceAfterTilde = boolean
- This key is deprecated now:
spaceBeforeConditionBang = boolean
- Default setting of Jindent's output format is
-autonow.
- It is possible now to overwrite environment variable content
"*not available*"for variablesfileNameandfullFileNameif the Jindent interface is invoked through streams.
- Early detection and skipping of write protected java files.
- Creation of used defined backup extension:
-bakext extension
- Header and footer identification works for end-of-line comments too now.
conventionStringis deprecated now, therefore it got separated into two keys:date = timePattern conventionNote = String
'
date' is an environment variable which can be used in all templates.importstatements are not separated by classes anymore.
- New switches for brace styles are added:
noBlankLinesAfterLeftBraceGeneral = boolean noBlankLinesAfterLeftBraceMethod = boolean noBlankLinesAfterLeftBraceClassInterface = boolean noBlankLinesAfterLeftBraceTryCatch = boolean
This switch can be usefull if generally blank lines before comments are desired, but at the beginning
of a block it could create a unnecessary gap, for instance:void myMethod(int i) { // first comment int x = a(i) + b(i); System.out.println(x); // second comment int y = c(x) + d(x); System.out.println(y); }The new switches (here
noBlankLinesAfterLeftBraceMethod = true) can change this output to:void myMethod(int i) { // first comment int x = a(i) + b(i); System.out.println(x); // second comment int y = c(x) + d(x); System.out.println(y); } paddingParenthesisis deprecated now and got divided into new switches:paddingMethodDeclarationParenthesis = boolean paddingMethodCallParenthesis = boolean paddingStatementParenthesis = boolean
- New switches to wrap lines before and after operators:
wrapAfterConditionalOperators = boolean wrapAfterComparisonOperators = boolean wrapAfterNumericalOperators = boolean
- New switch to improve alignment of too long comments, declarations and assignments:
alignTooLongDeclarations = boolean alignTooLongAssignments = boolean separateChunksByTooLongLines = boolean
alignTooLongCommentsgot improved.
- Improved error catching, Jindent will not terminate abruptly anymore.
indentWrappedThrows, indentWrappedExtends, indentWrappedImplementsproperties have effect on normal wrapping too now.
- A new key to control wrapped tokens in variable declarations:
wrapDeclarationAssignmentsToRightSide = boolean
setCodeWarnings(boolean)added to JindentParser interface.- Empty constructor of
JindentProperties()creates an empty property object with invalid entries now. To create a property object with Jindent's default setting we introduced a new classDefaultJindentProperties.
To keep all the 3rd party integrations on working Jindent is able to recognize an empty property object and automatically substitute it by aDefaultJindentPropertiesobject. - Unicode support and conversion implemented.
- New encoding command line switches:
-inputEncoding enc -outputEncoding enc -resourceEncoding enc
- Improved indentation for switch-case statements.
Deprecated is now:indentCaseFromSwitch = boolean
new property setting is:
indentCaseFromSwitch = n
- Introducing a new comment switch:
//JDOC-
This switch can be used to skip automatical javadoc insertion for methods/classes/interfaces/fields.
It can be used to preserve javadoc inheritance which is supported by Sun's javadoc tool.
Changes/New Features in JindentCommander:
- JavaHelp support.
- New batch mode switch
-eadded to run a JindentCommander project file without showing the GUI. - Support for encoding arguments.
- Serialization of jcs objects is version independent from now on.
- Some GUI improvements.
Changes/New Features in JindentCustomizer:
- JavaHelp support.
- New tree-based property editor.
- Environment variables
$fullFileName$and$fileName$work in JindentCustomizer now. - Support for new Jindent properties.
- Output is syntaxhighlighted on all VMs >= 1.3.
- Some GUI improvements.
Bugfixes in Jindent:
- Jindent trashes line wrapping for unix files combined with
neverIndentFirstColumnComments = true.
This bug occured in files which use blank lines between certain code segments. This is fixed now.
- Line wrapping bug in greater than 2 dimensional arrays is fixed.
- Missing space before brackets
[]in several source code parts is fixed.
- Label indentation and accordingly tabulator handling bug is fixed.
- Java grammar works correctly now for
abstract, strictfpandfinalclasses in
methods/constructors or blocks.
spaceBeforeStatementParenthesis = falsesetting is fixed. Now works proper for:return(...),throw(...)
- Wrong indentation of
indentLeftBrace...caused by nasty placed comments.
- Public
JindentBeaninterface is not obfuscated anymore. alignTooLongCommentsworks correct now.- Some few tabulator alignment problems occured. This is fixed now.
- Headers/footers starting with
"/*---"and ending with"---*/"will not automatically deleted anymore. CloneNotSupportedExceptionof methodclone()in the classesJindentPropertiesandJindentEnvironmentis never thrown. To avoid confusion they are removed.InsertMissingJavadocTags = truecombined withformatJavadocComments = trueworks proper now.- Problem with numerous trailing comments in one line is fixed.
- Certain placement of tabulators in comments do not cause parse errors anymore.
- Empty Strings
""in templates are accepted now. - Assert support in labeled statements did not work.
- JindentReader and JindentWriter were not included in the JindentGold zipfile.
- Jindent had problems to understand some keys of the new license scheme. This is fixed now.
- Deleting headers/footers which have javadoc style did not work.
- Saving of environment in JindentCustomizer did not work.
- Some GUI bug fixes.
- And some other minor bugs are fixed...
