nbbrd / java-service-util

Java service utilities
European Union Public License 1.2
4 stars 1 forks source link

Add ServiceProviderInterface annotation #128

Open charphi opened 2 years ago

charphi commented 2 years ago

@ServiceProviderInterface would be a simplified version of @ServiceDefinition with less options and better defaults.

Current issues:

Minimum features:

  1. Quantifier
  2. Custom class naming
  3. Batch loading
  4. Preprocessing (filtering/sorting/mapping)
  5. Local caching
  6. Reloading

Additional features:

  1. Custom class loading
  2. Thread safety
  3. Lazy loading
charphi commented 2 years ago

Experiments available at https://github.com/nbbrd/java-service-util/tree/develop/java-service-annotation/src/test/java/experimental

charphi commented 1 year ago

Features so far (experiment 4):

  1. One annotation per quantifier
  2. Custom naming
  3. Batch loading
  4. Reloading
  5. Custom backend
  6. Fluent usage & convenient shortcut
  7. Adapter for previous annotation
  8. Catch unexpected exceptions during loading and report it

Next features:

  1. Basic preprocessing (filtering/sorting/~mapping~)
  2. Add specialized filter on system property
  3. Annotation of third party code

Non-features: