Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  //----------------------------------------------------------------------------
  // Copyright (C) 2003  Rafael H. Bordini, Jomi F. Hubner, et al.
  // 
  // 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; either
  // version 2.1 of the License, or (at your option) any later version.
  // 
  // 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
 // 
 // To contact the authors:
 // http://www.inf.ufrgs.br/~bordini
 // http://www.das.ufsc.br/~jomi
 //
 //----------------------------------------------------------------------------
 
 
 package jason.asSemantics;
 
 
 
 
 public class Message implements Serializable {
     
     private String ilForce  = null;
     private String sender   = null;
     private String receiver = null;
     private Object propCont = null;
     private String msgId    = null;
     private String inReplyTo = null;
     
     private static AtomicInteger idCount = new AtomicInteger(0);
     
     public final static String[] knownPerformatives = {"tell","untell","achieve","unachieve","askOne","askAll","tellHow""untellHow","askHow"};
     
     public final static String msgIdPrefix        = "mid";
     public final static String msgIdSyncAskPrefix = "samid";
     
     public final static String kqmlReceivedFunctor = "kqml_received";
     
     public Message() {
     }
 
     public Message(String ilfString sString rObject c) {
         this(ilfsrc+(.incrementAndGet()));
     }
     
     public Message(String ilfString sString rObject cString id) {
         setIlForce(ilf);
            = s;
          = r;
          = c;
             = id;
     }
     
     public Message(Message m) {
           = m.ilForce;
            = m.sender;
          = m.receiver;
          = m.propCont;
             = m.msgId;
         m.inReplyTo;
     }
 
     public void setSyncAskMsgId() {
     }
     
     public String getIlForce() {
         return ;
     }
     
     public void setIlForce(String ilf) {
         if (ilf.equals("ask-one")) ilf = "askOne";
         if (ilf.equals("ask-all")) ilf = "askAll";
         if (ilf.equals("tell-how")) ilf = "tellHow";
         if (ilf.equals("ask-how")) ilf = "askHow";
         if (ilf.equals("untell-how")) ilf = "untellHow";
          = ilf;
     }
     
     public boolean isAsk() {
         return .startsWith("ask");
     }
     public boolean isTell() {
         return .startsWith("tell");
     }
     public boolean isUnTell() {
        return .startsWith("untell");
    }
    
    public boolean isReplyToSyncAsk() {
        return  != null && .startsWith();
    }
    public boolean isKnownPerformative() {
        for (String s) {
            if (.equals(s)) 
                return true;
        }
        return false;
    }
    
    public void setPropCont(Object o) {
         = o;
    }
    public Object getPropCont() {
        return ;
    }
    
    public String getReceiver() {
        return ;
    }
    public void setSender(String agName) {
         = agName;
    }
    public String getSender() {
        return ;
    }
    public void setReceiver(String agName) {
         = agName;
    }
    
    public String getMsgId() {
        return ;
    }
    public void setMsgId(String id) {
         = id;
    }
    
    public String getInReplyTo() {
        return ;
    }
    public void setInReplyTo(String inReplyTo) {
        this. = inReplyTo;
    }
    
    public Message clone() {
        return new Message(this);
    }
    
    
Creates a new message object based on a string that follows the format of the toString of Message class.

Parameters:
msg the string message
Returns:
the parsed Message
Author(s):
Rogier
    public static Message parseMsg(String msgthrows ParseException {
        int onetwo;
        Message newmsg = new Message();
        if (msg.startsWith("<")) {
            one = msg.indexOf(",");
            int arrowIndex = msg.indexOf("->");
            if ((arrowIndex > 0) && (one > arrowIndex)) { // If there is an arrow before the first comma
                newmsg.msgId = msg.substring(1, arrowIndex);
                newmsg.inReplyTo = msg.substring(arrowIndex + 2, one);
            } else { // If not (either there is no arrow, or there is one behind the first comma)
                newmsg.msgId = msg.substring(1, one);
            }
            two = msg.indexOf(","one + 1);
            newmsg.sender = msg.substring(one + 1, two);
            one = msg.indexOf(","two + 1);
            newmsg.ilForce = msg.substring(two + 1, one);
            two = msg.indexOf(","one + 1);
            newmsg.receiver = msg.substring(one + 1, two);
            one = msg.indexOf(">"two + 1);
            String content = msg.substring(two + 1, one);
            newmsg.propCont = ASSyntax.parseTerm(content);
        }
        return newmsg;
    }
    
    public String toString() {
        String irt = ( == null ? "" : "->"+);
        return "<"++irt+","++","++","++","++">";
    }
New to GrepCode? Check out our FAQ X