package prefuse.action; import prefuse.Visualization; /** * An Action that can be parameterized to process a particular group of items. * * @author <a href="http://jheer.org">jeffrey heer</a> */ public abstract class GroupAction extends Action { /** A reference to the group to be processed by this Action */ protected String m_group; /** * Create a new GroupAction that processes all groups. * @see prefuse.Visualization#ALL_ITEMS */ public GroupAction() { this((Visualization)null); } /** * Create a new GroupAction that processes all groups. * @param vis the {@link prefuse.Visualization} to process * @see prefuse.Visualization#ALL_ITEMS */ public GroupAction(Visualization vis) { this(vis, Visualization.ALL_ITEMS); } /** * Create a new GroupAction that processes all groups. * @param vis the {@link prefuse.Visualization} to process * @param duration the duration of this Action * @see prefuse.Visualization#ALL_ITEMS */ public GroupAction(Visualization vis, long duration) { this(vis, Visualization.ALL_ITEMS, duration); } /** * Create a new GroupAction that processes all groups. * @param vis the {@link prefuse.Visualization} to process * @param duration the duration of this Action * @param stepTime the time to wait between invocations of this Action * @see prefuse.Visualization#ALL_ITEMS */ public GroupAction(Visualization vis, long duration, long stepTime) { this(vis, Visualization.ALL_ITEMS, duration, stepTime); } /** * Create a new GroupAction that processes the specified group. * @param group the name of the group to process */ public GroupAction(String group) { this(null, group); } /** * Create a new GroupAction that processes the specified group. * @param group the name of the group to process * @param duration the duration of this Action */ public GroupAction(String group, long duration) { this(null, group, duration); } /** * Create a new GroupAction that processes the specified group. * @param group the name of the group to process * @param duration the duration of this Action * @param stepTime the time to wait between invocations of this Action */ public GroupAction(String group, long duration, long stepTime) { this(null, group, duration, stepTime); } /** * Create a new GroupAction that processes the specified group. * @param vis the {@link prefuse.Visualization} to process * @param group the name of the group to process */ public GroupAction(Visualization vis, String group) { super(vis); m_group = group; } /** * Create a new GroupAction that processes the specified group. * @param vis the {@link prefuse.Visualization} to process * @param group the name of the group to process * @param duration the duration of this Action */ public GroupAction(Visualization vis, String group, long duration) { super(vis, duration); m_group = group; } /** * Create a new GroupAction that processes the specified group. * @param vis the {@link prefuse.Visualization} to process * @param group the name of the group to process * @param duration the duration of this Action * @param stepTime the time to wait between invocations of this Action */ public GroupAction(Visualization vis, String group, long duration, long stepTime) { super(vis, duration, stepTime); m_group = group; } // ------------------------------------------------------------------------ /** * Get the name of the group to be processed by this Action. * @return the name of the group to process */ public String getGroup() { return m_group; } /** * Sets the name of the group to be processed by this Action. * @param group the name of the group to process */ public void setGroup(String group) { m_group = group; } // ------------------------------------------------------------------------ /** * @see prefuse.action.Action#run(double) */ public abstract void run(double frac); } // end of class GroupAction