001package io.ebean.annotation; 002 003import java.lang.annotation.ElementType; 004import java.lang.annotation.Retention; 005import java.lang.annotation.RetentionPolicy; 006import java.lang.annotation.Target; 007 008/** 009 * Annotated classes (like BeanPersistAdapter, BeanPersistListener etc) with 010 * @EbeanComponent and these will be registered with Ebean. 011 * <p> 012 * For projects using query beans the annotation processor (query bean generator) 013 * finds entity beans to register and it will ALSO find classes annotated with 014 * @EbeanComponent such that these are registered with Ebean. 015 * <p> 016 * The query bean generator generates source code to register the entity classes 017 * (such that Ebean does not have to scan the classpath for them). At the same time 018 * the query bean generator generates will also find <code>@EbeanComponent</code> and 019 * also register those with Ebean. 020 * <p> 021 * When Ebean is programmatically created and entity classes etc are all explicitly 022 * registered or when the annotation process (query bean generator) is not used then 023 * this annotation has no effect. 024 */ 025@Retention(RetentionPolicy.RUNTIME) 026@Target(ElementType.TYPE) 027public @interface EbeanComponent { 028 029}