Package com.iizix.api

Interface IAnnotationReferenceProcessor<SCOPE extends PropCnr,COMP extends GProp<?>>

All Known Implementing Classes:
FullVSAnnotationReferenceProcessor, UIAnnotationReferenceProcessor, UIPanelAnnotationReferenceProcessor, VSAnnotationReferenceProcessor

public interface IAnnotationReferenceProcessor<SCOPE extends PropCnr,COMP extends GProp<?>>
Tagging interface used by the AnnotationType's to handle reference look-up, validation and refactoring. The real implementor of the class....
Author:
Christopher Mindus
  • Method Details

    • getScopeClass

      Class<SCOPE> getScopeClass()
      Returns the class for the scope reference.
      Returns:
      The scope class, or null if not a scoped annotation.
    • resolveReference

      COMP resolveReference(GProp<?> scope, String reference) throws PropTypeException, NotFoundException
      Resolves a reference name to a UI component.
      Parameters:
      scope - The scope, should be instance of getScopeClass(), or any property in the Module Model if getScopeClass() returns null.
      reference - The relative name from the component to loop up, or the full reference if not scoped.
      Returns:
      The component found, never null.
      Throws:
      PropTypeException - If the property is not found or if the property is of wrong type.
      NotFoundException - If the component is not found.
    • getReferencePath

      String getReferencePath(GProp<?> comp) throws IllegalStateException, PropTypeException
      Returns the reference path of a component, relative or full depending if it is scoped or not.
      Parameters:
      comp - The component.
      Returns:
      The path.
      Throws:
      IllegalStateException - If the tree is invalid.
      PropTypeException - If the property type is invalid.