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 * Specify the property is included in the parent document store index.
010 * <pre>{@code
011 *
012 *
013 * @DocStore
014 * @Entity @Table(name = "o_order")
015 * public class Order {
016 *
017 *   ...
018 *   // include some customer details including
019 *   // nested billingAddress
020 *   @DocEmbedded(doc = "id,status,name,billingAddress(*,country(*)")
021 *   @ManyToOne
022 *   Customer customer;
023 *
024 *
025 * }</pre>
026 */
027@Target({ElementType.FIELD})
028@Retention(RetentionPolicy.RUNTIME)
029public @interface DocEmbedded {
030
031  /**
032   * The properties on the embedded bean to include in the index.
033   */
034  String doc() default "";
035
036}