Class MergingAnnotationDB

    • Constructor Detail

      • MergingAnnotationDB

        public MergingAnnotationDB​(String name)
        Create a new MergingAnnotationDB with a name and no DBs to merge.
        Parameters:
        name - the name of this DB
      • MergingAnnotationDB

        public MergingAnnotationDB​(String name,
                                   List merged)
        Create a new MergingAnnotationDB with a name and a list of DBs to merge.
        Parameters:
        name - the name of this DB
        merged - a list of DBs to merge
    • Method Detail

      • addAnnotationDB

        public void addAnnotationDB​(AnnotationDB toAdd)
        Add a DB to be merged in this view.
        Parameters:
        toAdd - the AnnotationDB to add
      • removeAnnotationDB

        public void removeAnnotationDB​(AnnotationDB toRemove)
        Remove a DB from this view.
        Parameters:
        toRemove - the AnnotationDB to remove
      • getMerged

        public List getMerged()
        Return a list of merged DBs. This can be modified independantly of this DB.
        Returns:
        a List of merged DBs
      • getSchema

        public AnnotationType getSchema()
        Description copied from interface: AnnotationDB

        Get an AnnotationType that accepts all Annotation instances in this DB.

        The schema should accept all Annotations in the DB. However, it may hit other Annotations. So, AnnotationType.ALL is always a valid schema. Obviously, the more retrictive it is, the more usefull it becomes for introspection.

        Specified by:
        getSchema in interface AnnotationDB
        Returns:
        the schema AnnotationType
      • size

        public int size()
        Description copied from interface: AnnotationDB
        The number of Annotation instances in the DB.
        Specified by:
        size in interface AnnotationDB
        Returns:
        the size of this DB
      • filter

        public AnnotationDB filter​(AnnotationType at)
        Description copied from interface: AnnotationDB
        Find all Annotation instances in this DB that are of a particular type.
        Specified by:
        filter in interface AnnotationDB
        Parameters:
        at - the AnnotationType to match
        Returns:
        an AnnotationDB with all matching Annotation instances
      • search

        public AnnotationDB search​(AnnotationType at)
        Description copied from interface: AnnotationDB
        Find all Annotation instances in this DB and any Annotations that are child properties of these that match an AnnotationType.
        Specified by:
        search in interface AnnotationDB
        Parameters:
        at - the AnnotationType to search with
        Returns:
        an AnnotationDB with all matching Annotation instances, irregardless of how deep in the hieracy they are