com.mxgraph.model.mxIGraphModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of AptSpringProcessor Show documentation
Show all versions of AptSpringProcessor Show documentation
This project contains the apt processor that implements all the checks enumerated in @Verify. It is a self contained, and
shaded jar.
The newest version!
/**
* Copyright (c) 2007, Gaudenz Alder
*/
package com.mxgraph.model;
import com.mxgraph.util.mxEventSource.mxIEventListener;
import com.mxgraph.util.mxUndoableEdit.mxUndoableChange;
/**
* Defines the requirements for a graph model to be used with mxGraph.
*/
public interface mxIGraphModel
{
/**
* Defines the interface for an atomic change of the graph model.
*/
public abstract class mxAtomicGraphModelChange implements mxUndoableChange
{
/**
* Holds the model where the change happened.
*/
protected mxIGraphModel model;
/**
* Constructs an empty atomic graph model change.
*/
public mxAtomicGraphModelChange()
{
this(null);
}
/**
* Constructs an atomic graph model change for the given model.
*/
public mxAtomicGraphModelChange(mxIGraphModel model)
{
this.model = model;
}
/**
* Returns the model where the change happened.
*/
public mxIGraphModel getModel()
{
return model;
}
/**
* Sets the model where the change is to be carried out.
*/
public void setModel(mxIGraphModel model)
{
this.model = model;
}
/**
* Executes the change on the model.
*/
public abstract void execute();
}
/**
* Returns the root of the model or the topmost parent of the given cell.
*
* @return Returns the root cell.
*/
Object getRoot();
/**
* Sets the root of the model and resets all structures.
*
* @param root Cell that specifies the new root.
*/
Object setRoot(Object root);
/**
* Returns an array of clones for the given array of cells.
* Depending on the value of includeChildren, a deep clone is created for
* each cell. Connections are restored based if the corresponding
* cell is contained in the passed in array.
*
* @param cells Array of cells to be cloned.
* @param includeChildren Boolean indicating if the cells should be cloned
* with all descendants.
* @return Returns a cloned array of cells.
*/
Object[] cloneCells(Object[] cells, boolean includeChildren);
/**
* Returns true if the given parent is an ancestor of the given child.
*
* @param parent Cell that specifies the parent.
* @param child Cell that specifies the child.
* @return Returns true if child is an ancestor of parent.
*/
boolean isAncestor(Object parent, Object child);
/**
* Returns true if the model contains the given cell.
*
* @param cell Cell to be checked.
* @return Returns true if the cell is in the model.
*/
boolean contains(Object cell);
/**
* Returns the parent of the given cell.
*
* @param child Cell whose parent should be returned.
* @return Returns the parent of the given cell.
*/
Object getParent(Object child);
/**
* Adds the specified child to the parent at the given index. If no index
* is specified then the child is appended to the parent's array of
* children.
*
* @param parent Cell that specifies the parent to contain the child.
* @param child Cell that specifies the child to be inserted.
* @param index Integer that specifies the index of the child.
* @return Returns the inserted child.
*/
Object add(Object parent, Object child, int index);
/**
* Removes the specified cell from the model. This operation will remove
* the cell and all of its children from the model.
*
* @param cell Cell that should be removed.
* @return Returns the removed cell.
*/
Object remove(Object cell);
/**
* Returns the number of children in the given cell.
*
* @param cell Cell whose number of children should be returned.
* @return Returns the number of children in the given cell.
*/
int getChildCount(Object cell);
/**
* Returns the child of the given parent at the given index.
*
* @param parent Cell that represents the parent.
* @param index Integer that specifies the index of the child to be
* returned.
* @return Returns the child at index in parent.
*/
Object getChildAt(Object parent, int index);
/**
* Returns the source or target terminal of the given edge depending on the
* value of the boolean parameter.
*
* @param edge Cell that specifies the edge.
* @param isSource Boolean indicating which end of the edge should be
* returned.
* @return Returns the source or target of the given edge.
*/
Object getTerminal(Object edge, boolean isSource);
/**
* Sets the source or target terminal of the given edge using.
*
* @param edge Cell that specifies the edge.
* @param terminal Cell that specifies the new terminal.
* @param isSource Boolean indicating if the terminal is the new source or
* target terminal of the edge.
* @return Returns the new terminal.
*/
Object setTerminal(Object edge, Object terminal, boolean isSource);
/**
* Returns the number of distinct edges connected to the given cell.
*
* @param cell Cell that represents the vertex.
* @return Returns the number of edges connected to cell.
*/
int getEdgeCount(Object cell);
/**
* Returns the edge of cell at the given index.
*
* @param cell Cell that specifies the vertex.
* @param index Integer that specifies the index of the edge to return.
* @return Returns the edge at the given index.
*/
Object getEdgeAt(Object cell, int index);
/**
* Returns true if the given cell is a vertex.
*
* @param cell Cell that represents the possible vertex.
* @return Returns true if the given cell is a vertex.
*/
boolean isVertex(Object cell);
/**
* Returns true if the given cell is an edge.
*
* @param cell Cell that represents the possible edge.
* @return Returns true if the given cell is an edge.
*/
boolean isEdge(Object cell);
/**
* Returns true if the given cell is connectable.
*
* @param cell Cell whose connectable state should be returned.
* @return Returns the connectable state of the given cell.
*/
boolean isConnectable(Object cell);
/**
* Returns the user object of the given cell.
*
* @param cell Cell whose user object should be returned.
* @return Returns the user object of the given cell.
*/
Object getValue(Object cell);
/**
* Sets the user object of then given cell.
*
* @param cell Cell whose user object should be changed.
* @param value Object that defines the new user object.
* @return Returns the new value.
*/
Object setValue(Object cell, Object value);
/**
* Returns the geometry of the given cell.
*
* @param cell Cell whose geometry should be returned.
* @return Returns the geometry of the given cell.
*/
mxGeometry getGeometry(Object cell);
/**
* Sets the geometry of the given cell.
*
* @param cell Cell whose geometry should be changed.
* @param geometry Object that defines the new geometry.
* @return Returns the new geometry.
*/
mxGeometry setGeometry(Object cell, mxGeometry geometry);
/**
* Returns the style of the given cell.
*
* @param cell Cell whose style should be returned.
* @return Returns the style of the given cell.
*/
String getStyle(Object cell);
/**
* Sets the style of the given cell.
*
* @param cell Cell whose style should be changed.
* @param style String of the form stylename[;key=value] to specify
* the new cell style.
* @return Returns the new style.
*/
String setStyle(Object cell, String style);
/**
* Returns true if the given cell is collapsed.
*
* @param cell Cell whose collapsed state should be returned.
* @return Returns the collapsed state of the given cell.
*/
boolean isCollapsed(Object cell);
/**
* Sets the collapsed state of the given cell.
*
* @param cell Cell whose collapsed state should be changed.
* @param collapsed Boolean that specifies the new collpased state.
* @return Returns the new collapsed state.
*/
boolean setCollapsed(Object cell, boolean collapsed);
/**
* Returns true if the given cell is visible.
*
* @param cell Cell whose visible state should be returned.
* @return Returns the visible state of the given cell.
*/
boolean isVisible(Object cell);
/**
* Sets the visible state of the given cell.
*
* @param cell Cell whose visible state should be changed.
* @param visible Boolean that specifies the new visible state.
* @return Returns the new visible state.
*/
boolean setVisible(Object cell, boolean visible);
/**
* Increments the updateLevel by one. The event notification is queued
* until updateLevel reaches 0 by use of endUpdate.
*/
void beginUpdate();
/**
* Decrements the updateLevel by one and fires a notification event if the
* updateLevel reaches 0.
*/
void endUpdate();
/**
* Binds the specified function to the given event name. If no event name
* is given, then the listener is registered for all events.
*/
void addListener(String eventName, mxIEventListener listener);
/**
* Function: removeListener
*
* Removes the given listener from the list of listeners.
*/
void removeListener(mxIEventListener listener);
/**
* Function: removeListener
*
* Removes the given listener from the list of listeners.
*/
void removeListener(mxIEventListener listener, String eventName);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy