001 package edu.rice.cs.cunit.util; 002 003 /** 004 * Mutable reference. 005 * @author Mathias Ricken 006 */ 007 public class Ref<O> { 008 private O _o; 009 010 public Ref() { 011 } 012 013 public Ref(O o) { 014 _o = o; 015 } 016 017 public O get() { 018 return _o; 019 } 020 021 public void set(O o) { 022 _o = o; 023 } 024 025 public boolean equals(Object o) { 026 if (this == o) { 027 return true; 028 } 029 if (o == null || getClass() != o.getClass()) { 030 return false; 031 } 032 033 Ref ref = (Ref)o; 034 035 if (_o != null ? !_o.equals(ref._o) : ref._o != null) { 036 return false; 037 } 038 039 return true; 040 } 041 042 public int hashCode() { 043 return (_o != null ? _o.hashCode() : 0); 044 } 045 }