1 /* 2 * This file is part of *** M y C o R e *** 3 * See http://www.mycore.de/ for details. 4 * 5 * MyCoRe is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * MyCoRe is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with MyCoRe. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 package org.mycore.common.events; 20 21 import org.mycore.common.MCRSession; 22 23 /** 24 * 25 * @author Thomas Scheffler (yagee) 26 * 27 * @version $Revision$ $Date$ 28 * @since 2.0 29 */ 30 public class MCRSessionEvent { 31 32 public enum Type { 33 activated, created, destroyed, passivated 34 } 35 36 private Type type; 37 38 private MCRSession session; 39 40 private int concurrentAccessors; 41 42 public MCRSessionEvent(MCRSession session, Type type, int concurrentAccessors) { 43 this.session = session; 44 this.type = type; 45 this.concurrentAccessors = concurrentAccessors; 46 } 47 48 /** 49 * Return how many threads accessed the session at time the event occured. 50 */ 51 public int getConcurrentAccessors() { 52 return concurrentAccessors; 53 } 54 55 /** 56 * Return the MCRSession on which this event occured. 57 */ 58 public MCRSession getSession() { 59 return session; 60 } 61 62 /** 63 * Return the event type of this event. 64 */ 65 public Type getType() { 66 return type; 67 } 68 69 @Override 70 public String toString() { 71 return "MCRSessionEvent['" + getSession() + "'," + getType() + "," + getConcurrentAccessors() + "]'"; 72 } 73 74 }