/*
* Created on Apr 23, 2008
* Created by Paul Gardner
*
* Copyright 2008 Vuze, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License only.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*/
package com.aelitis.azureus.plugins.net.buddy;
import java.util.Map;
public class
BuddyPluginBuddyMessage
{
private BuddyPluginBuddyMessageHandler handler;
private int id;
private int subsystem;
private int timeout;
private long create_time;
private boolean deleted;
protected
BuddyPluginBuddyMessage(
BuddyPluginBuddyMessageHandler _handler,
int _id,
int _subsystem,
Map _request,
int _timeout,
long _create_time )
throws BuddyPluginException
{
handler = _handler;
id = _id;
subsystem = _subsystem;
timeout = _timeout;
create_time = _create_time;
if ( _request != null ){
handler.writeRequest( this, _request );
}
}
public BuddyPluginBuddy
getBuddy()
{
return( handler.getBuddy());
}
public int
getID()
{
return( id );
}
public int
getSubsystem()
{
return( subsystem );
}
public Map
getRequest()
throws BuddyPluginException
{
return( handler.readRequest( this ));
}
/**
* Only available for pending-success messages, so don't make public
* @return
* @throws BuddyPluginException
*/
protected Map
getReply()
throws BuddyPluginException
{
return( handler.readReply( this ));
}
protected int
getTimeout()
{
return( timeout );
}
protected long
getCreateTime()
{
return( create_time );
}
public void
delete()
{
deleted = true;
handler.deleteMessage( this );
}
public boolean
isDeleted()
{
return( deleted );
}
}