Skip to content

Commit 4aa4607

Browse files
committed
version 0.7 notes
1 parent 580ad0f commit 4aa4607

2 files changed

Lines changed: 56 additions & 1 deletion

File tree

VERSION.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1+
# Version 0.7
2+
The latest version includes some new features for modifying the output
3+
of the generated source code. As well, better type handling is availble
4+
for arrays and generics.
5+
6+
### Features and Improvements
7+
+ [#197]: pluggable class and method name generator
8+
+ [#14]: support for disabling the printing of timestamps
9+
+ [#194, #208]: support for generic parameters in annotated helpers
10+
+ [#94]: support for multi-dimensional array types
11+
+ [#47]: new `*Factory` interfaces and static factory method
12+
+ [#33]: update to JDK7, and enable JDK8 builds
13+
14+
### Disabling Timestamps
15+
Timestamps in the generated source can be disabled by calling the new `disableTimestamps()`
16+
method on the fluent builder.
17+
18+
### Pluggable Name Generator
19+
It is now possible to customize the generated names by using different implementations
20+
of the new `NameGenerator` interface. An instance can be provided by calling the new
21+
`useCustomNameGenerator(..)` method on the fluent builder. Several name generators are
22+
provided out of the box:
23+
24+
* `DefaultNameGenerator` - makes no alterations
25+
* `CondensedNameGenerator` - shortens method names
26+
* `TinyNameGenerator` - shortens method and class names
27+
* `HashedNameGenerator` - shortens method and class names using an MD5 hash
28+
29+
### Generics in Annotated Helpers and Return Types
30+
Improving upon the annotations introduced in version 0.6, you can now use generic
31+
parameters and return types in your annotated helper classes. Additionally, all
32+
methods can make use of generic return types.
33+
34+
### Factory Methods
35+
A new `Factory` interface is now created for each descriptor, and contains a
36+
single parameter-less method which can be used to start a new builder. The
37+
`Generator` classes correspondingly have a new method which binds parameters
38+
to a new factory instance and returns it. This functionality is provided as
39+
a shortcut to defining your own factory for downstream consumers.
40+
41+
### BREAKING CHANGE - `@BlockChain` annotation does not have a value
42+
The value for the block chain marker annotation for use in annotated helpers
43+
has been removed through better resolution of generics.
44+
45+
The full list of tasks and issues included in the release is available on the project's
46+
[Issue Tracker](https://github.com/UnquietCode/Flapi/milestones/0.7).
47+
48+
------------------------------------------------
49+
150
# Version 0.6
251
Flapi Version 0.6 includes a major update to support annotation based configuration
352
of descriptors.
@@ -11,7 +60,7 @@ Similar to annotations, you can provide a class with `setXYZ(..)` and `withXYZ(.
1160
## Resolved Issues
1261
Issues are now handled through GitHub, and historical issues have been migrated from JIRA.
1362

14-
### Features and Improvement
63+
### Features and Improvements
1564
+ [FLAPI-188 / #11]: Support for creating descriptors from annotated helper interfaces.
1665
+ [FLAPI-155 / #52]: Support referencing the current block.
1766
+ [FLAPI-185 / #38]: Add @see to generated documentation pointing to actual Helper methods.
@@ -24,6 +73,10 @@ Issues are now handled through GitHub, and historical issues have been migrated
2473
+ [FLAPI-190 / #34]: Update docs and wiki with annotations info.
2574
+ [FLAPI-189 / #17]: Move issues from JIRA to GitHub
2675

76+
### BREAKING CHANGE - wrapper `Start` interface requires a type parameter
77+
In order to enable proper nested blocks, all `Start` interfaces now require a
78+
type parameter to be provided. In most cases, this value will simply be `Void`.
79+
2780
The full list of tasks and issues included in the release is available on the project's
2881
[Issue Tracker](https://github.com/UnquietCode/Flapi/milestones/0.6).
2982

src/main/java/unquietcode/tools/flapi/graph/processors/ReturnTypeProcessor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ public void visit(TerminalTransition transition) {
6868
if (clazz.equals(Void.class.getName()) && transition.getStateChain().isEmpty()) {
6969
initialType.set(ctx.model.VOID);
7070
} else {
71+
// TODO this is pretty shameful
72+
7173
MethodParser fakeParsed = new MethodParser(clazz+" fake()");
7274
JType returnType = getType(fakeParsed.returnType);
7375
initialType.set(returnType);

0 commit comments

Comments
 (0)