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.runtime;
 
 import java.util.Map;
MAS Runtime Settings for an Agent (from mas2j file, agent declaration)
 
 public class Settings {
     
     public static final byte      ODiscard        = 1;
     public static final byte      ORequeue        = 2;
     public static final byte      ORetrieve       = 3;
     public static final boolean   OSameFocus      = true;
     public static final boolean   ONewFocus       = false;
     public static final int       ODefaultNRC     = 1;
     public static final int       ODefaultVerbose = -1;
     public static final boolean   ODefaultSync    = false;
     
     private static Logger logger = Logger.getLogger(Settings.class.getName());          
         
     private byte    events     = ;
     private boolean intBels    = ;
     private int     nrcbp      = ;
     private int     verbose    = ;
     private boolean sync       = 
     private boolean qCache     = false// whether to use query cache
     private boolean qProfiling = false// whether has query profiling
     private boolean troON      = true;  // tail recursion optimisation is on by default
     
     private Map<String,ObjectuserParameters = new HashMap<String,Object>();
     
     public Settings() {
     }
     
     public Settings(String options) {
         setOptions(options);
     }
     
     @SuppressWarnings("unchecked")
     public void setOptions(String options) {
         .fine("Setting options from "+options);
         jason.mas2j.parser.mas2j parser = new jason.mas2j.parser.mas2jnew StringReader(options));
         try {
             setOptions(parser.ASoptions());
             .fine("Settings are "+);
         } catch (Exception e) {
             .log(."Error parsing options "+options,e);
         }
     }
     
     public void setOptions(Map<String,Objectoptions) {
         if (options == nullreturn;
          = options;
         
         for (String keyoptions.keySet()) {
             
             if (key.equals("events")) {
                 String events = (String)options.get("events");
                 if (events.equals("discard")) {
                     setEvents();
                 } else if (events.equals("requeue")) {
                     setEvents();
                 } else if (events.equals("retrieve")) {
                     setEvents();
                 }
 
             } else if (key.equals("intBels")) {
                 String intBels = (String)options.get("intBels");
                 if (intBels.equals("sameFocus")) {
                     setIntBels();
                 } else if (intBels.equals("newFocus")) {
                     setIntBels();
                }
            } else if (key.equals("nrcbp")) {
                String nrc = (String)options.get("nrcbp");
                setNRCBP(nrc);
    
            } else if (key.equals("verbose")) {
                String verbose = (String)options.get("verbose");
                setVerbose(verbose);
    
            } else if (key.equals("synchronised")) {
                setSync("true".equals((String)options.get("synchronised")));
            } else if (key.equals("tro")) {
                setTRO("true".equals((String)options.get("tro")));
            } else if (key.equals("qcache")) {
                setQueryCache"cycle".equals((String)options.get("qcache")) );
            } else if (key.equals("qprofiling")) {
                setQueryProfiling"yes".equals((String)options.get("qprofiling")) );
            } else {
                //userParameters.put(key, options.get(key));
            }
        }
    }

    
add user defined option
    public void addOption(String keyObject value) {
        .put(keyvalue);
    }
    public void setEvents(byte opt) {
         = opt;
    }
    public void setIntBels(boolean opt) {
         = opt;
    }
    public void setNRCBP(String opt) {
        try {
            setNRCBP( Integer.parseInt(opt));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void setNRCBP(int opt) {
         = opt;
    }
    public void setVerbose(String opt) {
        try {
            setVerbose( Integer.parseInt(opt));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void setVerbose(int opt) {
         = opt;
    }
    
    public boolean discard() {
        return  == ;
    }
    public boolean requeue() {
        return  == ;
    }
    
    public boolean retrieve() {
        return  == ;
    }
    public boolean sameFocus() {
        return();
    }
    public boolean newFocus() {
        return(!);
    }
    public int nrcbp() {
        return ;
    }
    
    public int verbose() {
        return ;
    }
    
    public java.util.logging.Level logLevel() {
         switch() {
         case 0 : return ....;
         case 1 : return ....;
         case 2 : return ....;
         }
         return ....;
   }
    
    
returns true if the execution is synchronised
    public boolean isSync() {
        return ;
    }
    
    public void setSync(boolean pSync) {
         = pSync;
    }
    
    public boolean isTROon() {
        return ;
    }
    public void setTRO(boolean tro) {
         = tro;
    }
    
    public boolean hasQueryCache() {
        return ;
    }
    public void setQueryCache(boolean b) {
         = b;
    }
    
    public boolean hasQueryProfiling() {
        return ;
    }
    public void setQueryProfiling(boolean b) {
         = b;
    }
    
    public Map<String,ObjectgetUserParameters() {
        return ;
    }
    public String getUserParameter(String key) {
        String vl = (String).get(key);
        if (vl != null && vl.startsWith("\"") && vl.endsWith("\"")) {
            vl = vl.substring(1, vl.length()-1);
            vl = vl.replaceAll("\\\\\"""\"");        
        }
        return vl;
    }
New to GrepCode? Check out our FAQ X