/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package de.cismet.cids.navigator.utils;
import Sirius.navigator.types.treenode.DefaultMetaTreeNode;
import org.openide.util.Lookup;
import org.openide.util.Lookup.Result;
import org.openide.util.Lookup.Template;
import java.util.Collection;
import de.cismet.cids.utils.interfaces.DefaultMetaTreeNodeVisualizationService;
/**
* DOCUMENT ME!
*
* @author thorsten
* @version $Revision$, $Date$
*/
public class MetaTreeNodeVisualization implements DefaultMetaTreeNodeVisualizationService {
//~ Static fields/initializers ---------------------------------------------
private static MetaTreeNodeVisualization instance = null;
//~ Instance fields --------------------------------------------------------
private Lookup visLookup;
private Collection<DefaultMetaTreeNodeVisualizationService> visServices;
private Template visTemplate;
private Result visResults;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new MetaTreeNodeVisualization object.
*/
private MetaTreeNodeVisualization() {
visLookup = Lookup.getDefault();
visTemplate = new Template(DefaultMetaTreeNodeVisualizationService.class);
visResults = visLookup.lookup(visTemplate);
visServices = visResults.allInstances();
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static MetaTreeNodeVisualization getInstance() {
if (instance == null) {
instance = new MetaTreeNodeVisualization();
}
return instance;
}
@Override
public void addVisualization(final DefaultMetaTreeNode dmtn) throws Exception {
for (final DefaultMetaTreeNodeVisualizationService service : visServices) {
service.addVisualization(dmtn);
}
}
@Override
public void addVisualization(final Collection<DefaultMetaTreeNode> c) throws Exception {
for (final DefaultMetaTreeNodeVisualizationService service : visServices) {
service.addVisualization(c);
}
}
@Override
public void removeVisualization(final DefaultMetaTreeNode mon) throws Exception {
for (final DefaultMetaTreeNodeVisualizationService service : visServices) {
service.removeVisualization(mon);
}
}
@Override
public void removeVisualization(final Collection<DefaultMetaTreeNode> c) throws Exception {
for (final DefaultMetaTreeNodeVisualizationService service : visServices) {
service.removeVisualization(c);
}
}
}