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 (
assert
keyword 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
-auto
now.
- It is possible now to overwrite environment variable content
"*not available*"
for variablesfileName
andfullFileName
if 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.
conventionString
is 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.import
statements 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); }
paddingParenthesis
is 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
alignTooLongComments
got improved.
- Improved error catching, Jindent will not terminate abruptly anymore.
indentWrappedThrows, indentWrappedExtends, indentWrappedImplements
properties have effect on normal wrapping too now.
- A new key to control wrapped tokens in variable declarations:
wrapDeclarationAssignmentsToRightSide = boolean
s
etCodeWarnings(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 aDefaultJindentProperties
object. - 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
-e
added 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, strictfp
andfinal
classes in
methods/constructors or blocks.
spaceBeforeStatementParenthesis = false
setting is fixed. Now works proper for:return(...)
,throw(...)
- Wrong indentation of
indentLeftBrace...
caused by nasty placed comments.
- Public
JindentBean
interface is not obfuscated anymore. alignTooLongComments
works correct now.- Some few tabulator alignment problems occured. This is fixed now.
- Headers/footers starting with
"/*---"
and ending with"---*/"
will not automatically deleted anymore. CloneNotSupportedException
of methodclone()
in the classesJindentProperties
andJindentEnvironment
is never thrown. To avoid confusion they are removed.InsertMissingJavadocTags = true
combined withformatJavadocComments = true
works 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...