Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

api: revise annotation naming and project structure #29

Closed
elucash opened this issue Sep 19, 2014 · 1 comment
Closed

api: revise annotation naming and project structure #29

elucash opened this issue Sep 19, 2014 · 1 comment
Milestone

Comments

@elucash
Copy link
Member

elucash commented Sep 19, 2014

For one of the future versions, probably, before 1.0 (or for 1.0), there's intention to revise naming for the annotations, and package and module structure.
Driving factors for the changes:

  • Need better modularization: annotations, packages, modules
  • Simplicity and flexibility

While I liked initial straightforward @Generate* and .common - like approach for the toolkit, and other guys was ok with it, I no longer feel its a way to go.

Modules/packages:

  • Split in large chunks: core immutables, JSON, repositories, etc.
  • Annotation should go together with supporting classes for repositories and JSON.
  • Decide if actual processor should go to separate modules (depends on testing with IDEs)

Annotation naming:

  • Allow for both simple name and namespacing via annotation nesting. Currently don't know how it will work in practice, but currently I like this idea. Especially how it plays with different modules
  • Examples: @Value.Immutable, @Value.Default, @Value.Parameter, @Value.Derived, @Json.Marshaler, @Json.Named, @Json.Ignore, @Mongo.Repository. This allows for autocompletion starting with enclosing annotation, and also allow import for simple annotation name, depending on style and mixing with other annotations.

As a "spoiler": all these exercises will be much more reasonable when new annotation processing and modeling toolkit will be ready (#17.)

@elucash
Copy link
Member Author

elucash commented Oct 30, 2014

  • Annotation changes done
  • Modules and packages are restructured, but not quite as it was planned. Anyway useful enough.

@elucash elucash closed this as completed Oct 30, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant