/****************************************************************** * JADE - Java Agent DEvelopment Framework is a framework to develop * multi-agent systems in compliance with the FIPA specifications. * Copyright (C) 2002 TILAB S.p.A. * * This file is donated by Acklin B.V. to the JADE project. * * * GNU Lesser General Public License * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation, * version 2.1 of the License. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * ***************************************************************/ package jade.tools.gui; import java.awt.*; import java.awt.event.*; import java.io.*; import java.text.*; import java.util.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.border.*; import javax.swing.event.*; import javax.swing.table.*; import javax.swing.text.*; import javax.swing.tree.*; import jade.core.AID; import jade.lang.acl.ACLMessage; import jade.tools.sl.SLFormatter; /** * This class is used in the model of the ACLTree. The MessageNode contains * an ACLMessage, a direction and a date/timestamp * * @author Chris van Aart - Acklin B.V., the Netherlands * @created April 26, 2002 */ public class ACLMessageNode extends DefaultMutableTreeNode { /** * Constructor for the MessageNode object * * @param str Description of Parameter */ ACLMessageNode(String str) { super(str); } /** * Gets the Message attribute of the MessageNode object * * @return The Message value */ public ACLMessage getMessage() { return theMessage; } /** * Gets the Performative attribute of the MessageNode object * * @return The Performative value */ public String getPerformative() { return theMessage.getPerformative(theMessage.getPerformative()); } /** * Gets the SendTo attribute of the MessageNode object * * @return The SendTo value */ public String getSendTo() { if (theMessage.getAllReceiver().hasNext()) { AID sender = (AID)theMessage.getAllReceiver().next(); return sender.getName(); } return "<unknown>"; } /** * Gets the Ontology attribute of the MessageNode object * * @return The Ontology value */ public String getOntology() { String ontology = theMessage.getOntology(); if (ontology != null) { return ontology; } return "<unknown>"; } /** * Gets the Direction attribute of the MessageNode object * * @return The Direction value */ public String getDirection() { return direction; } public String getTime() { return time; } public Date getTheDate() { return theDate; } /** * Sets the Message attribute of the MessageNode object * * @param msg The new Message value */ public void setMessage(ACLMessage msg) { theMessage = (ACLMessage)msg.clone(); } /** * Sets the Direction attribute of the MessageNode object * * @param theDirection The new Direction value */ public void setDirection(String theDirection) { direction = theDirection; } public void setTime(String theTime) { time = theTime; try { this.theDate = dateFormat.parse(time); } catch (Exception ex) { jade.util.Logger.getMyLogger(this.getClass().getName()).log(jade.util.Logger.WARNING,ex.getMessage()); } } public void setTheDate(Date theTheDate) { theDate = theTheDate; } public String receivedFrom() { if (theMessage.getSender() != null) { AID sender = theMessage.getSender(); return sender.getName(); } return "<unknown>"; } private static DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM); private Date theDate = new Date(); private ACLMessage theMessage; private String direction; private String time; } // ***EOF***