/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
/*
* Created on 19/07/2005
*/
package com.python.pydev.analysis.messages;
import org.eclipse.core.runtime.Assert;
import org.python.pydev.core.IToken;
import com.python.pydev.analysis.IAnalysisPreferences;
public class Message extends AbstractMessage {
private Object message;
/**
* @param startLine starts at 1
* @param endLine starts at 1
* @param startCol starts at 1
* @param endCol starts at 1
*/
public Message(int type, Object message, int startLine, int endLine, int startCol, int endCol,
IAnalysisPreferences prefs) {
super(type, startLine, endLine, startCol, endCol, prefs);
this.message = message;
}
public Message(int type, Object message, IToken generator, IAnalysisPreferences prefs) {
super(type, generator, prefs);
this.message = message;
Assert.isNotNull(generator);
}
public Object getShortMessage() {
return message;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Message)) {
return false;
}
Message m = (Message) obj;
return this.getType() == m.getType() && this.message.equals(m.message);
}
@Override
public int hashCode() {
return getMessage().hashCode();
}
}