/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package fr.hhdev.ocelot.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 *
 * @author hhfrancois
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface JsCacheResult {
	int year() default 0;
	int month() default 0;
	int day() default 0;
	int hour() default 0;
	int minute() default 0;
	int second() default 0;
	int millisecond() default 0;
	String keys() default "*";
}

@@ -725,16 +725,544 @@
 ult 0;%0D%0A
+%09/**%0D%0A%09 * Rules for parameters about key for cache, separate by coma%3Cbr%3E%0D%0A%09 * '-' : parameter is not used%3Cbr%3E%0D%0A%09 * '*' : parameter is used fully%3Cbr%3E%0D%0A%09 * '**' : parameters until the last is used fully%3Cbr%3E%0D%0A%09 * 'id' : parameter.id is used%3Cbr%3E%0D%0A%09 * %3Cb%3EExample%3C/b%3E : the method 'package1.class1.method1(Object o1, Object o2, Object o3, Object o4, Object o5)'%3Cbr%3E%0D%0A%09 * is annotated with  @JsCacheResult(keys=%22-,*,name,**%22)%3Cbr%3E%0D%0A%09 * so the cache key is compute from package1.class1.method1(o2,o3.name,o4,o5)%3Cbr%3E%0D%0A%09 * @return %0D%0A%09 */%0D%0A
 %09String 
@@ -1278,15 +1278,16 @@
 fault %22*
+*
 %22;%0D%0A%7D%0D%0A

add notice for complex cachekey