package org.eclipse.bpel.validator.model;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)

public @interface ARule {
	
	/** The date in which this rule was added */
	String date()      default "01/01/1970";
	
	/** The static analysis reference code
	 * @return the static analysis code.
	 */
	
	int sa ()       default 0;
	
	/** Brief description of the rule */
	String desc()      default "No description";
	
	/** The author to bug about this */
	String author()    default "Unknown";	
	
	/** Tags are used for marked execution of rules */
	String tag ()      default "pass1";
	
	/** the order in which the rule will be executed */ 
	int order () default 0;
}
