package korisnik;

import lista.*;

         /*
	 Ova klasa je jedna od mogucih implementacija  sucelje Cvor  
	 */

public class CvorInteger implements Cvor {

           

           private  int i;          // podatak sadrzan u cvoru
           private Cvor iduci=null;  // referenca na iduci element list
            
           public CvorInteger(int i) { this.i = i; }  // konstrutor
           private CvorInteger(){} //sakrijemo defaultni konstruktor
           
    /*
    kako implementiramo sucelje cvor obavezni smo implementirati
    iduce dvije metode
    */
           
  
    public Cvor getNext() { 
                         return iduci; 
    } 
       
    public void setNext(Cvor cvor) { 
             iduci = cvor; 
    } //kraj implementacije sucelja Cvor


    //iduca metoda samo vraca vrijednost u privatnoj varijabli i

    public int getI(){
  
	return i;
    }

    //preradjujemo i dvije metode iz klase Objekt

    public String toString() { //za jednostavno printanje
               return i + ""; 
    }  

    /*
       za komparaciju objekata tipa CvorInteger preradimo equals
       implementacija koju sadrzi klasa objekt nije dobra 
       
    */           
           
     public boolean equals(Object o) {        

                 
     if (this == o) return true; //jer pokazuju na isto
                
     //pitamo se je li o uopce instanca od CvorInteger

     if (!(o instanceof CvorInteger)) return false; 
                
     //ako smo ovdje onda je o CvorInteger
                
       if (((CvorInteger)o).i == this.i) return true;
	        //iako su o i this cvorovi vrijednosti na integerima se 
                //razlikuju i zato nisu jednaki
                return false;
            }
        }
