001/* 002 GRANITE DATA SERVICES 003 Copyright (C) 2011 GRANITE DATA SERVICES S.A.S. 004 005 This file is part of Granite Data Services. 006 007 Granite Data Services is free software; you can redistribute it and/or modify 008 it under the terms of the GNU Library General Public License as published by 009 the Free Software Foundation; either version 2 of the License, or (at your 010 option) any later version. 011 012 Granite Data Services is distributed in the hope that it will be useful, but 013 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 014 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License 015 for more details. 016 017 You should have received a copy of the GNU Library General Public License 018 along with this library; if not, see <http://www.gnu.org/licenses/>. 019*/ 020 021package org.granite.tide.invocation; 022 023import java.io.Serializable; 024import java.util.Arrays; 025 026 027/** 028 * @author William DRAI 029 */ 030public class ContextEvent implements Serializable { 031 032 private static final long serialVersionUID = 1L; 033 034 035 private String eventType; 036 private Object[] params; 037 038 039 public ContextEvent() { 040 } 041 042 public ContextEvent(String eventType, Object[] params) { 043 this.eventType = eventType; 044 this.params = params; 045 } 046 047 public String getEventType() { 048 return eventType; 049 } 050 public void setEventType(String eventType) { 051 this.eventType = eventType; 052 } 053 054 public Object[] getParams() { 055 return params; 056 } 057 public void setParams(Object[] params) { 058 this.params = params; 059 } 060 061 @Override 062 public String toString() { 063 return eventType; 064 } 065 066 067 @Override 068 public int hashCode() { 069 return eventType.hashCode() + 31*Arrays.hashCode(params); 070 } 071 072 @Override 073 public boolean equals(Object object) { 074 if (object == null || !object.getClass().equals(ContextEvent.class)) 075 return false; 076 077 ContextEvent event = (ContextEvent)object; 078 if (!event.getEventType().equals(eventType)) 079 return false; 080 081 return Arrays.equals(event.getParams(), params); 082 } 083}