Package uk.ac.starlink.vo
Class TapServiceTreeModel
- java.lang.Object
-
- uk.ac.starlink.vo.TapServiceTreeModel
-
- All Implemented Interfaces:
javax.swing.tree.TreeModel
public class TapServiceTreeModel extends java.lang.Object implements javax.swing.tree.TreeModelTreeModel implementation representing a particular set of tables contained in a list of known TAP services.- Since:
- 30 Jun 2015
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Modifier Constructor Description TapServiceTreeModel(java.lang.String rootLabel)Constructs an instance with no entries.protectedTapServiceTreeModel(java.lang.String rootLabel, TapServiceFinder.Service[] services, java.util.Map<TapServiceFinder.Service,TapServiceFinder.Table[]> tableMap)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTreeModelListener(javax.swing.event.TreeModelListener lnr)static javax.swing.tree.TreeCellRenderercreateCellRenderer()Returns a cell renderer suitable for rendering nodes of a JTree using a model of this class.java.lang.ObjectgetChild(java.lang.Object parent, int index)intgetChildCount(java.lang.Object parent)intgetIndexOfChild(java.lang.Object parent, java.lang.Object child)java.lang.ObjectgetRoot()static TapServiceFinder.ServicegetService(javax.swing.tree.TreePath path)Returns a service in the ancestry of a supplied path.static javax.swing.tree.TreePathgetServicePath(javax.swing.tree.TreePath path)Returns a tree path which correponds to a TAP service, and which is an ancestor of the supplied path.booleanisLeaf(java.lang.Object node)static TapServiceTreeModelreadTreeModel(TapServiceFinder.Service[] allServices, TapServiceFinder finder, TapServiceFinder.Constraint constraint)Constructs a tree model based on some given constraints.voidremoveTreeModelListener(javax.swing.event.TreeModelListener lnr)voidvalueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
-
-
-
Constructor Detail
-
TapServiceTreeModel
protected TapServiceTreeModel(java.lang.String rootLabel, TapServiceFinder.Service[] services, java.util.Map<TapServiceFinder.Service,TapServiceFinder.Table[]> tableMap)Constructor.- Parameters:
rootLabel- text label for root element (may be null)services- list of services nodes in treetableMap- array of tables providing child nodes for each service; may be null if no table children are required, but if not null must contain an entry for each service
-
TapServiceTreeModel
public TapServiceTreeModel(java.lang.String rootLabel)
Constructs an instance with no entries.- Parameters:
rootLabel- text label for root element (may be null)
-
-
Method Detail
-
getRoot
public java.lang.Object getRoot()
- Specified by:
getRootin interfacejavax.swing.tree.TreeModel
-
isLeaf
public boolean isLeaf(java.lang.Object node)
- Specified by:
isLeafin interfacejavax.swing.tree.TreeModel
-
getChildCount
public int getChildCount(java.lang.Object parent)
- Specified by:
getChildCountin interfacejavax.swing.tree.TreeModel
-
getChild
public java.lang.Object getChild(java.lang.Object parent, int index)- Specified by:
getChildin interfacejavax.swing.tree.TreeModel
-
getIndexOfChild
public int getIndexOfChild(java.lang.Object parent, java.lang.Object child)- Specified by:
getIndexOfChildin interfacejavax.swing.tree.TreeModel
-
valueForPathChanged
public void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)- Specified by:
valueForPathChangedin interfacejavax.swing.tree.TreeModel
-
addTreeModelListener
public void addTreeModelListener(javax.swing.event.TreeModelListener lnr)
- Specified by:
addTreeModelListenerin interfacejavax.swing.tree.TreeModel
-
removeTreeModelListener
public void removeTreeModelListener(javax.swing.event.TreeModelListener lnr)
- Specified by:
removeTreeModelListenerin interfacejavax.swing.tree.TreeModel
-
getServicePath
public static javax.swing.tree.TreePath getServicePath(javax.swing.tree.TreePath path)
Returns a tree path which correponds to a TAP service, and which is an ancestor of the supplied path. The supplied path counts as its own ancestor for these purposes.- Parameters:
path- path to examine- Returns:
- path corresponding to a sub-path of the supplied one, for which the terminal element is a TapServiceFinder.Service, or null if no service appears in the ancestry
-
getService
public static TapServiceFinder.Service getService(javax.swing.tree.TreePath path)
Returns a service in the ancestry of a supplied path. The supplied path counts as its own ancestor for these purposes.- Parameters:
path- path to examine- Returns:
- service owning the path, or null if no service appears in the ancestry
-
readTreeModel
public static TapServiceTreeModel readTreeModel(TapServiceFinder.Service[] allServices, TapServiceFinder finder, TapServiceFinder.Constraint constraint) throws java.io.IOException
Constructs a tree model based on some given constraints. May require a read of service data, hence should not be executed on the Event Dispatch Thread.- Parameters:
allServices- list of all services that may be relevantfinder- object that can search for TAP servicesconstraint- defines the services of interest; if null, all are used- Returns:
- tree model
- Throws:
java.io.IOException
-
createCellRenderer
public static javax.swing.tree.TreeCellRenderer createCellRenderer()
Returns a cell renderer suitable for rendering nodes of a JTree using a model of this class.- Returns:
- tree cell renderer
-
-