1/* 2 * Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package sun.jvmstat.monitor.event; 27 28import java.util.List; 29import sun.jvmstat.monitor.MonitoredVm; 30import sun.jvmstat.monitor.Monitor; 31 32/** 33 * Provides a description of a change in status of the instrumentation 34 * exported by the MonitoredVm. 35 * 36 * @author Brian Doherty 37 * @since 1.5 38 */ 39@SuppressWarnings("serial") // JDK implementation class 40public class MonitorStatusChangeEvent extends VmEvent { 41 42 /** 43 * List of instrumentation objects inserted since the last event. 44 * Elements of this list will always be of type Monitor. 45 */ 46 protected List<Monitor> inserted; 47 48 /** 49 * List of instrumentation objects removed since the last event. 50 * Elements of this list will always be of type Monitor. 51 */ 52 protected List<Monitor> removed; 53 54 /** 55 * Construct a new MonitorStatusChangeEvent. 56 * 57 * @param vm the MonitoredVm source of the event. 58 * @param inserted the list of instrumentation objects inserted since 59 * the last event. 60 * @param removed the list of instrumentation objects removed since 61 * the last event. 62 */ 63 public MonitorStatusChangeEvent(MonitoredVm vm, List<Monitor> inserted, 64 List<Monitor> removed) { 65 super(vm); 66 this.inserted = inserted; 67 this.removed = removed; 68 } 69 70 /** 71 * Return the list of instrumentation objects that were inserted 72 * since the last event notification. 73 * 74 * @return List - a List of Monitor objects that were inserted into the 75 * instrumentation exported by the MonitoredHost. If no 76 * new instrumentation was inserted, an emply List is 77 * returned. 78 */ 79 public List<Monitor> getInserted() { 80 return inserted; 81 } 82 83 /** 84 * Return the set of instrumentation objects that were removed 85 * since the last event notification. 86 * 87 * @return List - a List of Monitor objects that were removed from the 88 * instrumentation exported by the MonitoredHost. If no 89 * instrumentation was removed, an emply List is returned. 90 */ 91 public List<Monitor> getRemoved() { 92 return removed; 93 } 94} 95