package org.openntf.domino.graph2.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.openntf.domino.utils.TypeUtils; /** * Property annotations are for getter and setters to manipulate the property value of an Element. TypedProperty annotations are used to * enforce type coercion on the results, provide for derived dynamic properties and allow for properties that must be specifically requested * to return in services. * * @author Nathan T. Freeman */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface TypedProperty { public String value(); /** * The converter used for the type casting. * * @return the converter used to enforce the getter and setter types */ public Class<?> converter() default TypeUtils.class; public boolean derived() default false; public boolean specified() default false; }