package org.jactr.tools.grapher.core.container; /* * default logging */ import java.util.ArrayList; import java.util.Collection; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.tools.grapher.core.probe.IProbe; public class ProbeContainer implements IProbeContainer { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(ProbeContainer.class); private final String _name; private final IProbeContainer _parent; private Collection<IProbeContainer> _children; private Collection<IProbe> _probes; public ProbeContainer(String name, IProbeContainer parent) { _name = name; _parent = parent; _children = new ArrayList<IProbeContainer>(); _probes = new ArrayList<IProbe>(); if (_parent != null) _parent.add(this); } public void add(IProbeContainer child) { _children.add(child); } public void add(IProbe probe) { _probes.add(probe); } public Collection<IProbeContainer> getChildren( Collection<IProbeContainer> container) { if (container == null) container = new ArrayList<IProbeContainer>(_children.size()); container.addAll(_children); return container; } public String getName() { return _name; } public IProbeContainer getParent() { return _parent; } public Collection<IProbe> getProbes(Collection<IProbe> container) { if (container == null) container = new ArrayList<IProbe>(_probes.size()); container.addAll(_probes); return container; } }