private void inheritGlobals(final Monitor monitor) { for (final Iterator it = globalAttributes.getAllAttributeHolders().entrySet().iterator(); it .hasNext();) { final Map.Entry entry = (Map.Entry)it.next(); final String key = (String)entry.getKey(); final AttributeHolder holder = (AttributeHolder)entry.getValue(); final Object value = holder.getValue(); final AttributeHolder attribute = monitor.set(key, value); if (holder.isSerializable()) { attribute.serializable(); } if (holder.isLocked()) { attribute.lock(); } } }
/** * Get a serializable version of this monitor. Also creates serialized versions of any child * monitors. * @return the serializable monitor */ @Override public SerializableMonitor getSerializableMomento() { final List<SerializableMonitor> childMomentos = new ArrayList<SerializableMonitor>( _childMonitors.size()); for (final Monitor monitor : _childMonitors) { childMomentos.add(monitor.getSerializableMomento()); } final MonitoringEngine engine = MonitoringEngine.getInstance(); final Map<String, Serializable> serializableAttributes = engine .makeAttributeHoldersSerializable(attributes.getAllAttributeHolders()); final SerializableCompositeMonitor monitor = new SerializableCompositeMonitor(null, childMomentos); monitor.setAllAttributeHolders(serializableAttributes); return monitor; }
/** * Get a {@link Serializable} version of this monitor. * @return the {@link Serializable} monitor */ public SerializableMonitor getSerializableMomento() { final MonitoringEngine engine = MonitoringEngine.getInstance(); final Map<String, Serializable> serializableAttributes = engine .makeAttributeHoldersSerializable(attributes.getAllAttributeHolders()); final SerializableMonitor monitor = new SerializableMonitor(null); monitor.setAllAttributeHolders(serializableAttributes); return monitor; }