Skip to content

Releases: phax/jcodemodel

JCodeModel 4.1.0

16 Nov 11:19

Choose a tag to compare

  • Updated to ph-commons 12.1.0
  • Using JSpecify annotations
  • Added Maven plugin to generate Java code from CSV, JSON or YAML. Thanks a million to @glelouet for providing all of the great work

What's Changed

Full Changelog: jcodemodel-parent-pom-4.0.0...jcodemodel-parent-pom-4.1.0

JCodeModel 4.0.0

25 Aug 10:21

Choose a tag to compare

  • Requires Java 17 as the minimum version
  • Using ph-commons as a compile dependency for common stuff
  • Moved all exceptions to exceptions package
  • Included [PR #96]](#96) from @glelouet on copying the whole JCodeModel

What's Changed

New Contributors

Full Changelog: jcodemodel-3.4.1...jcodemodel-parent-pom-4.0.0

JCodeModel 3.4.1

21 Aug 09:58

Choose a tag to compare

  • Extended JDefinedClass to make enum constants accessible

Full Changelog: jcodemodel-3.4.0...jcodemodel-3.4.1

JCodeModel 3.4.0

21 Aug 09:57

Choose a tag to compare

  • Added special top-level construct JResourceDir to represent pure resource directories (issue #74 from @guiguilechat)
  • Added new class JCodeModelException as the base class for JClassAlreadyExistsException and the new class JResourceAlreadyExistsException
  • Existing APIs were changed to throw JCodeModelException instead of JClassAlreadyExistsException
  • JCNameUtilities.getFullName works with classes in the default package
  • Extended JCodeModel with (get|set)FileSystemConvention to make the creation more flexible (also issue #74 from @guiguilechat)
  • Added mutable overloads to methods that only return an unmodifiable collection (issue #86)
  • Fixed an issue with generating generics from anonymous classes (issue #84)

What's Changed

Full Changelog: jcodemodel-3.3.0...jcodemodel-3.4.0

JCodeModel 3.3.0

25 Nov 07:05

Choose a tag to compare

  • Added check for package names so that no invalid package names can be created (issue #70 from @guiguilechat)
  • Added check to avoid creating classes existing in the "java.lang" package (issue #71 from @guiguilechat)
  • JLambdaMethodRef now works with arbitrary expressions as the left hand side

JCodeModel 3.2.4

25 Nov 07:04

Choose a tag to compare

  • Made class JavaUnicodeEscapeWriter publicly accessible
  • Extended enum constant ref API (issue #68 from @guiguilechat)

JCodeModel 3.2.3

25 Nov 07:03

Choose a tag to compare

  • Extended JTryBlock API to have more control.
  • Added support for try-with-resources support (issue #67 from @gmcfall)

JCodeModel 3.2.2

25 Nov 07:03

Choose a tag to compare

JCodeModel 3.2.1

25 Jan 09:08

Choose a tag to compare

  • Added var as reserved word
  • Made JReturn constructor public
  • Added JInvocation._this static method
  • Added IJExpression.castTo method
  • Added support to create final variables in for each loops
  • JExpr.dotClass now takes AbstractJType and not just AbstractJClass
  • Made constructors of subclasses of IJStatement public
  • No line breaks for annotations to parameters
  • Put each method parameter on a separate line if more than 3 parameters are present

JCodeModel 3.2.0

20 Oct 07:49

Choose a tag to compare

  • Introduced class JCMWriter that should be used to emit the outgoing Java files. This replaces codemodel.build and offers a more consistent API. Most existing method remain existing and deprecated and just forward to JCMWriter.
    • Instead of cm.build (...) use new JCMWriter (cm).build (...)
  • Extracted IJFormatter interface for better separation of concerns. JFormatter was moved to a sub-package
  • ProgressCodeWriter no longer needs an explicit PrintStream but a ProgressCodeWriter.IProgressTracker instead.
  • Default charset for Java classes is now UTF-8.
  • Added new JAnnotationUse method overloads that automatically pass value as the annotation parameter name (issue #64)