Jump to: navigation, search

Howto: Register Annotation Constraints

< To: Tigerstripe_APIs

Annotation Framework support annotation creation constraints. To define custom constraint you need to create constraint class:

 public class AnnotationConstraintExample implements IAnnotationConstraint {
   public IStatus validate(IAnnotationValidationContext context) {
     Annotation annotation = context.getAnnotation();
     URI uri = annotation.getUri();
     if (...)
       return context.createFailureStatus(...);
     return context.createSuccessStatus();
   }
 }

This constraint should implements IAnnotationConstraint interface. You can use IAnnotationValidationContext to get annotation context and to create result status. The last step is register constraint using org.eclipse.tigerstripe.annotation.core.constraints extension point:

 <extension
     point="org.eclipse.tigerstripe.annotation.core.constraints">
   <constraint
       class="org.eclipse.tigerstripe.annotation.example.AnnotationConstraintExample"/>
 </extension>