protected void traverseAnnotatedObject(AnnotatedObject annotatedObject, IntactVisitor... visitors) { if (annotatedObject == null) return; for (IntactVisitor visitor : visitors) { visitor.visitAnnotatedObject(annotatedObject); } if (annotatedObject instanceof Interaction) { traverseInteraction((Interaction) annotatedObject, visitors); } else if (annotatedObject instanceof Interactor) { traverseInteractor((Interactor) annotatedObject, visitors); } else if (annotatedObject instanceof CvObject) { traverseCvObject((CvObject) annotatedObject, visitors); } else if (annotatedObject instanceof Experiment) { traverseExperiment((Experiment) annotatedObject, visitors); } else if (annotatedObject instanceof Component) { traverseComponent((Component) annotatedObject, visitors); } else if (annotatedObject instanceof BioSource) { traverseBioSource((BioSource) annotatedObject, visitors); } else if (annotatedObject instanceof Feature) { traverseFeature((Feature) annotatedObject, visitors); } else if (annotatedObject instanceof Publication) { traversePublication((Publication) annotatedObject, visitors); } else if (annotatedObject instanceof Institution) { traverseInstitution((Institution) annotatedObject, visitors); } else { throw new IllegalArgumentException("Cannot process annotated object of type: " + annotatedObject.getClass().getName()); } traverseAnnotatedObjectCommon(annotatedObject, visitors); }
protected void traverseAnnotatedObject(AnnotatedObject annotatedObject, IntactVisitor... visitors) { if (annotatedObject == null) return; for (IntactVisitor visitor : visitors) { visitor.visitAnnotatedObject(annotatedObject); } if (annotatedObject instanceof Interaction) { traverseInteraction((Interaction) annotatedObject, visitors); } else if (annotatedObject instanceof Interactor) { traverseInteractor((Interactor) annotatedObject, visitors); } else if (annotatedObject instanceof CvObject) { traverseCvObject((CvObject) annotatedObject, visitors); } else if (annotatedObject instanceof Experiment) { traverseExperiment((Experiment) annotatedObject, visitors); } else if (annotatedObject instanceof Component) { traverseComponent((Component) annotatedObject, visitors); } else if (annotatedObject instanceof BioSource) { traverseBioSource((BioSource) annotatedObject, visitors); } else if (annotatedObject instanceof Feature) { traverseFeature((Feature) annotatedObject, visitors); } else if (annotatedObject instanceof Publication) { traversePublication((Publication) annotatedObject, visitors); } else if (annotatedObject instanceof Institution) { traverseInstitution((Institution) annotatedObject, visitors); } else { throw new IllegalArgumentException("Cannot process annotated object of type: " + annotatedObject.getClass().getName()); } traverseAnnotatedObjectCommon(annotatedObject, visitors); }