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.asSyntax;
 
Represents an unnamed variable '_'.

Author(s):
jomi
 
 public class UnnamedVar extends VarTerm {
 
     private static final long serialVersionUID = 1L;
 
     private static AtomicInteger varCont = new AtomicInteger(0);
     public int myId;
     
     public UnnamedVar() {
         this(.incrementAndGet());
     }
 
     public UnnamedVar(int id) {
         super("_" + id);
          = id;
     }
 
     // do not allow the creation of unnamed var by name since the myId attribute should be defined!
     // this constructor is for internal use (see create below)
     private UnnamedVar(String name) {
         super(name);
     }
 
     public static UnnamedVar create(String name) {
         if (name.length() == 1) { // the case of "_"
             return new UnnamedVar();
         } else {
             int id = .incrementAndGet();            
             UnnamedVar v = new UnnamedVar("_"+id+name);
             v.myId = id;
             return v;
         }
     }
 
     public Term clone() {
         UnnamedVar newv = new UnnamedVar(getFunctor());
         newv.myId = this.;
         newv.hashCodeCache = this.;
         if (hasAnnot())
             newv.addAnnots(this.getAnnots().cloneLT());
         return newv;
     }
     
     @Override
     public boolean equals(Object t) {
         if (t == nullreturn false;
         if (t == thisreturn true;
         if (t instanceof UnnamedVarreturn ((UnnamedVar)t). == this.;
         return false;
     }
     
     public int compareTo(Term t) {
         if (t instanceof UnnamedVar) {
             if ( > ((UnnamedVar)t).)
                 return 1;
             else if ( < ((UnnamedVar)t).)
                 return -1;
             else
                 return 0;
         } else if (t instanceof VarTerm) {
             return 1;
         } else {
             return super.compareTo(t);
         }
     }
 
     @Override
     public boolean isUnnamedVar() {
        return true;
    }
New to GrepCode? Check out our FAQ X