Class AnnotationModelEvent


  • public class AnnotationModelEvent
    extends Object
    Specification of changes applied to annotation models. The event carries the changed annotation model as well as added, removed, and modified annotations.

    An event can be sealed. Afterwards it can not be modified. Thus, the normal process is that an empty event is created, filled with the changed information, and before it is sent to the listeners, the event is sealed.

    Since:
    2.0
    See Also:
    IAnnotationModel, IAnnotationModelListenerExtension
    • Constructor Detail

      • AnnotationModelEvent

        public AnnotationModelEvent​(IAnnotationModel model)
        Creates a new annotation model event for the given model.
        Parameters:
        model - the model
      • AnnotationModelEvent

        public AnnotationModelEvent​(IAnnotationModel model,
                                    boolean isWorldChange)
        Creates a new annotation model event for the given model.
        Parameters:
        model - the model
        isWorldChange - true if world change
        Since:
        3.0
    • Method Detail

      • getAnnotationModel

        public IAnnotationModel getAnnotationModel()
        Returns the model this event refers to.
        Returns:
        the model this events belongs to
      • annotationAdded

        public void annotationAdded​(Annotation annotation)
        Adds the given annotation to the set of annotations that are reported as being added from the model. If this event is considered a world change, it is no longer so after this method has successfully finished.
        Parameters:
        annotation - the added annotation
        Since:
        3.0
      • getAddedAnnotations

        public Annotation[] getAddedAnnotations()
        Returns the added annotations.
        Returns:
        the added annotations
        Since:
        3.0
      • annotationRemoved

        public void annotationRemoved​(Annotation annotation)
        Adds the given annotation to the set of annotations that are reported as being removed from the model. If this event is considered a world change, it is no longer so after this method has successfully finished.
        Parameters:
        annotation - the removed annotation
        Since:
        3.0
      • annotationRemoved

        public void annotationRemoved​(Annotation annotation,
                                      Position position)
        Adds the given annotation to the set of annotations that are reported as being removed from the model. If this event is considered a world change, it is no longer so after this method has successfully finished.
        Parameters:
        annotation - the removed annotation
        position - the position of the removed annotation
        Since:
        3.0
      • getRemovedAnnotations

        public Annotation[] getRemovedAnnotations()
        Returns the removed annotations.
        Returns:
        the removed annotations
        Since:
        3.0
      • getPositionOfRemovedAnnotation

        public Position getPositionOfRemovedAnnotation​(Annotation annotation)
        Returns the position of the removed annotation at that point in time when the annotation has been removed.
        Parameters:
        annotation - the removed annotation
        Returns:
        the position of the removed annotation or null
        Since:
        3.0
      • annotationChanged

        public void annotationChanged​(Annotation annotation)
        Adds the given annotation to the set of annotations that are reported as being changed from the model. If this event is considered a world change, it is no longer so after this method has successfully finished.
        Parameters:
        annotation - the changed annotation
        Since:
        3.0
      • getChangedAnnotations

        public Annotation[] getChangedAnnotations()
        Returns the changed annotations.
        Returns:
        the changed annotations
        Since:
        3.0
      • isEmpty

        public boolean isEmpty()
        Returns whether this annotation model event is empty or not. If this event represents a world change, this method returns false although the event does not carry any added, removed, or changed annotations.
        Returns:
        true if this event is empty
        Since:
        3.0
      • isWorldChange

        public boolean isWorldChange()
        Returns whether this annotation model events contains detailed information about the modifications applied to the event annotation model or whether it represents a world change. I.e. everything in the model might have changed.
        Returns:
        true if world change, false otherwise
        Since:
        3.0
      • isValid

        public boolean isValid()
        Returns whether this annotation model event is still valid.
        Returns:
        true if this event is still valid, false otherwise
        Since:
        3.0
      • markSealed

        public void markSealed()
        Seals this event. Any direct modification to the annotation model after the event has been sealed invalidates this event.
        Since:
        3.0