package org.tynamo.descriptor.annotation;
import org.apache.tapestry5.ioc.annotations.AnnotationUseContext;
import org.apache.tapestry5.ioc.annotations.UseWith;
import org.tynamo.descriptor.annotation.handlers.HandledBy;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@HandledBy("PropertyDescriptorAnnotationHandler")
@Documented
@UseWith(AnnotationUseContext.BEAN)
public @interface PropertyDescriptor
{
public static final String DEFAULT_format = "no_format";
/**
* Specifies if a property should appear on both edit and list pages
*
* @return
* @see org.tynamo.descriptor.Descriptor#isNonVisual()
*/
boolean nonVisual() default false;
boolean readOnly() default false;
/**
* Specifies if property should appear on search pages
*
* @return
*/
boolean searchable() default true;
/**
* Specifies if property can contain html.
*
* @return
*/
boolean richText() default false;
/**
* A format pattern string
*
* @return
* @see java.text.SimpleDateFormat
* @see java.text.NumberFormat
*/
String format() default DEFAULT_format;
}