What's new in JAC 0.12.1
This pages sums up the features introduced in JAC 0.12.1. See the NEWS.html file included in the distribution for information about new features introduced in previous versions.
Bug fix release
- method return type taken into account for pointcut expressions.
What's new in JAC 0.12
Core/Aspect programming model
AOP Alliance API support
as a consequence:
- wrappers must now implement two methods:
invoke wraps method executions and
construct wraps constructor executions.
- the pointcut method signature has changed
(no more wrapping method name).
- Added support for import statement in .acc files
- New configuration method in RTTI: defineRepository. It
allows to specify that when the instances of a class are
requested (with ObjectRepository.getObjects(ClassItem), instead
of returning all instances of the class known by the system,
just return a collection of a so-called repository
- Fixed some bytecode analysis bugs with doubles.
- Added clone() utility method to clone an object and it's
relations if they are aggregations (see
- Field dependencies can be declared for expression
fields. See RttiConf.addFieldDependency() configuration
- Log messages contain date and time.
- acc files: Fixed a bug in negated (those with a "!")
- log4j is used so that we can we just4log and not suffer a
performance loss for unactivated logs
- defineRepository can be used with any expression field for
New aspect: timestamp
Register last modification dates of objects.
Can now work with the timestamp aspect.
New aspect: export
It's not really an aspect since it does not use any wrapper,
but it's configured like an aspect. It can export object to an
XML file and, of course, import the objects back from that kind
- Packages can contain resources, which can be edited with an
- Introduced per user config
- Fixed application main class setting
- Can build a jar containing classes, aspect configuration
files and jac application descriptors.
- Added "goto line" feature on classes.
- Add export/import
- com.sun.tools.javac can be used as the compiler for better
- Added options to debug applications with standard java debugger
- Enhanced calculated field refresh (see RttiConf.addFieldDependency)
- Web: pressing enter in an editor of the embedded to add
- Web: Double clicking on a table's row views the object
(equivalent to clicking the "view" link)
- Swing: in the file editor, "~" at the beginning of a
filename is replaced by the user's home directory
- Added percentage editor and viewer
- new config method setSlowOperation() to display "please wait"
message for slow methods
- Dialog boxes now have OK/Cancel/Refresh buttons
- Use local format to edit and display floating point
- Tree nodes are sorted
- Length are specified using units such px, ex or em
instead of dual pixels/characters values.
- Added support for multiple storages
- FSStorage: do not create empty files
- FSStorage: encoding of files can be specified
- Confirmation messages can be customized