001package io.jstach.jstache; 002 003import java.lang.annotation.Documented; 004import java.lang.annotation.ElementType; 005import java.lang.annotation.Retention; 006import java.lang.annotation.RetentionPolicy; 007import java.lang.annotation.Target; 008 009/** 010 * Allows you to define and remap/override partials on a model. 011 * <p> 012 * Order of config lookup and precedence is as follows: 013 * <ol> 014 * <li>type annotated with JStache and this annotation. 015 * <li>enclosing class (of type annotated with JStache) with this annotation with inner to 016 * outer order. 017 * <li>package annotated with this annotation. 018 * <li>module annotated with this annotation. 019 * </ol> 020 * If multiple annotations are found they are combined where registered partials with same 021 * name are resolved with the above precedence. 022 * @see JStachePartial 023 * @see JStachePath 024 * @author agentgt 025 */ 026@Retention(RetentionPolicy.RUNTIME) 027@Target({ ElementType.TYPE, ElementType.PACKAGE, ElementType.MODULE }) 028@Documented 029public @interface JStachePartials { 030 031 /** 032 * Multiple partial mappings. 033 * @return multiple partial mappings 034 */ 035 public JStachePartial[] value() default {}; 036 037}