jexp / jpatterns

Annotation for (Design) patterns to communicate pattern usage
http://jpatterns.org
Apache License 2.0
85 stars 31 forks source link

Annotations Processor #4

Open stokito opened 9 years ago

stokito commented 9 years ago

Hi,

JFYI: I started a new project https://github.com/stokito/jpatterns-annotations-processor My idea is to merge this project http://www.dp4j.com/ that already have processors of Singleton and template Method. But it has GNU license and I'll ask author to import the project to GitHub and republish it under Apache v2 licence. If anybody wants to contribute - you welcome.

kabutz commented 8 years ago

Hi Stokito, did anything happen with your JPatterns Annotations Processor?

stokito commented 8 years ago

Hi @kabutz unfortunately no, I didn't finished a work. If you interested we can continue work on project and release it.

AlexGout commented 8 years ago

It's nice to see people are still interested!

kabutz commented 8 years ago

You'll be really surprised how often I still sell my Design Patterns Course (I certainly am). We even did one last week in Paris.

aczaplinski commented 4 years ago

Hello,

I created an annotation processor that checks some properties of annotated classes, methods and fields. If it thinks there is a bug in design pattern implementation, it reports a compilation warning (or error, or nothing - it can be configured). The compilation message can be produced for example if ConcreteDecorator class is abstract, or if it and it's superclasses don't contain any field of Component type.

It is currently in my fork of JPatterns: https://github.com/aczaplinski/jpatterns . This fork also merges all important changes from all forks of JPatterns here, upgrades Java to version 11 and fixes some bugs.

You can see the annotation processor in action in my Mockito fork: https://github.com/aczaplinski/mockito and my Guava fork: https://github.com/aczaplinski/guava . You have to provide the compiled version of my JPatterns fork for them to work.

What do you think of it?