001package org.biopax.paxtools.controller; 002 003import org.biopax.paxtools.model.BioPAXElement; 004import org.biopax.paxtools.model.Model; 005 006/** 007 * Basic visitor interface for classes using Traverser. 008 */ 009public interface Visitor 010{ 011// -------------------------- OTHER METHODS -------------------------- 012 013 /** 014 * An implementation of this method should perform a BioPAX element 015 * and editor dependent operation on the <em>model</em>. Examples of uses of this 016 * method include adding a BioPAX element--with all its dependent 017 * elements that can be reached via the <em>editor</em>--into the model, or 018 * updating an element that is equivalent to the given BioPAX element 019 * using the latter's/former's values. 020 * 021 * @param domain BioPAXElement which is the domain of this property 022 * @param range Object which is the range of this property 023 * @param model model on which the visiting operation will be done 024 * @param editor editor 025 */ 026 public void visit(BioPAXElement domain, Object range, Model model, PropertyEditor<?,?> editor); //TODO looks, using of <?,?> makes editor "read-only"... 027}