org.protege.editor.owl.ui.view.Copyable Maven / Gradle / Ivy
package org.protege.editor.owl.ui.view;
import org.protege.editor.owl.ui.action.ActionTarget;
import org.semanticweb.owlapi.model.OWLObject;
import javax.swing.event.ChangeListener;
import java.util.List;
/**
* Author: Matthew Horridge
* The University Of Manchester
* Medical Informatics Group
* Date: 07-Oct-2006
* [email protected]
* www.cs.man.ac.uk/~horridgm
* Components that support the copying of OWLObjects
should
* implement this interface, so that they will work with the copy action
* on the edit menu.
*/
public interface Copyable extends ActionTarget {
/**
* Determines whether or not at least one OWLObject
* can be copied.
* @return true
if at least one object can be copied, or
* false
if no objects can't be copied.
*/
public boolean canCopy();
/**
* Gets the objects that will be copied.
* @return A List
of OWLObjects
that will be
* copied to the clip board
*/
public List getObjectsToCopy();
/**
* Adds a change listener. If the ability to copy OWL objects changes, the
* copyable component should notify listeners through a change of state event.
* @param changeListener The listener to be added.
* @see ChangeListenerMediator Components may want to use the ChangeListenerMediator
* class to manage event notifcation and addition/removal of listeners
*/
void addChangeListener(ChangeListener changeListener);
/**
* Removes a previously added change listener.
* @param changeListener The ChangeListener to be removed.
*/
void removeChangeListener(ChangeListener changeListener);
}