Annotations @Retention(RetentionPolicy.RUNTIME)

Pessoal tenho uma dúvida com Annotations,Quando Crio uma Anotação
por que devo anota-la com @Retention(RetentionPolicy.RUNTIME)?
Se não anotar a Interface não consigo recuperar as anotações pertencentes
a um campo por exemplo.

Código

/*Interface*/
public @interface Value {
	public abstract boolean required();
}

/*Classe*/
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;

@Value(required=true)
public class MyClass {
	@Value(required=true)//Se Nao anotar nao consigo pegar essa anotacao do campo value.
	private String value;
	private String name;

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public static void main(String[] args) {
		 MyClass myClass = new MyClass();
		 Field[] fields = myClass.getClass().getDeclaredFields();
		 
		 for(int i = 0; i < fields.length;i++){
			 Field field = fields[i];
			 System.out.println("Field:\t" + field.getName());
			 Annotation[] ant = field.getDeclaredAnnotations();
			 if(ant.length > 0){
				 System.out.println("Annotation:\t" + ant[0]);	 
			 }
		 }
	}
}

@Retention(RetentionPolicy.RUNTIME) means that the annotation can be accessed via reflection at runtime. If you do not set this directive, the annotation will not be preserved at runtime, and thus not available via reflection.

@Target(ElementType.TYPE) means that the annotation can only be used ontop of types (classes and interfaces typically). You can also specify METHOD or FIELD, or you can leave the target out alltogether so the annotation can be used for both classes, methods and fields.

Informações valiosas demais , valeu amigo, entendi.

É possível pelo objeto Field saber o valor que tenho no atributo atualmente?
Por exemplo desejo anotar uma classe para que a mesma seja validada através de suas
anotações , Então tenho que pegar o valor do Field fazer a validação de acordo com a anotação.

Atenciosamente.

Entre nesse link abaixo é muito bom !

http://tutorials.jenkov.com/java-reflection/annotations.html

Muito Bom Vinicius , Suas Informações foram de grande valia para mim.