/** * Make a deep copy of this metric only including the portions designated in the Filter The * resulting metric is Safe to modify without danger to the underlying Monitor Metrics * * @param rendezvousServiceMonitorFilter Filter designates constituant parts to be included * @return a copy of this metric with references to the designated parts */ public TransportServiceMetric deepCopy( TransportServiceMonitorFilter transportServiceMonitorFilter) { TransportServiceMetric serviceMetric = new TransportServiceMetric(); serviceMetric.moduleClassID = moduleClassID; serviceMetric.mergeMetrics(this, transportServiceMonitorFilter); return serviceMetric; }
/** * Make a shallow copy of this metric only including the portions designated in the Filter * * <p>Note: since this is a shallow copy it is dangerous to modify the submetrics * * @param transportServiceMonitorFilter Filter designates constituant parts to be included * @return a copy of this metric with references to the designated parts */ public TransportServiceMetric shallowCopy( TransportServiceMonitorFilter transportServiceMonitorFilter) { TransportServiceMetric serviceMetric = new TransportServiceMetric(); serviceMetric.moduleClassID = moduleClassID; for (Iterator i = getTransportMetrics(); i.hasNext(); ) { TransportMetric transportMetric = (TransportMetric) i.next(); String protocol = transportMetric.getProtocol(); if (transportServiceMonitorFilter.hasTransport(protocol)) serviceMetric.addTransportMetric(transportMetric); } return serviceMetric; }