1. Project Clover database Wed Nov 12 2025 05:07:35 UTC
  2. Package guru.mikelue.foxglove.annotation

File TableFacetsSource.java

 

Code metrics

0
0
0
1
43
12
0
-
-
0
-

Classes

Class Line # Actions
TableFacetsSource 32 0 - 0 0
-1.0 -
 

Contributing tests

No tests hitting this source file were found.

Source view

1    package guru.mikelue.foxglove.annotation;
2   
3    import java.lang.annotation.*;
4    import java.util.List;
5    import java.util.stream.Stream;
6   
7    import guru.mikelue.foxglove.TableFacet;
8    import guru.mikelue.foxglove.functional.TableFacetsProvider;
9   
10    /**
11    * Marks a method or a filed as instant/provider of {@link TableFacet}.
12    *
13    * <p>
14    * For annotated field, its type should be:
15    *
16    * <ul>
17    * <li>{@link TableFacet},</li>
18    * <li>{@link List}, {@link Stream} or {@code array([])} of {@link TableFacet}s</li>
19    * <li>{@link TableFacetsProvider}</li>
20    * </ul>
21    *
22    * <p>
23    * For annotated method, its return type of method should be:
24    * <ul>
25    * <li>{@link TableFacet},</li>
26    * <li>{@link List}, {@link Stream} or {@code array([])} of {@link TableFacet}s</li>
27    * </ul>
28    */
29    @Target({ElementType.METHOD, ElementType.FIELD})
30    @Retention(RetentionPolicy.RUNTIME)
31    @Documented @Inherited
 
32    public @interface TableFacetsSource {
33    /**
34    * Defines the name of table facet.
35    *
36    * Without this attribute, the name of method/field is used as the name.
37    *
38    * @return The name of table facet
39    *
40    * @see GenData#facetsNames()
41    */
42    String value() default "";
43    }