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}