package no.java.incogito.domain;
import fj.F;
import fj.F2;
import static fj.Function.curry;
import fj.pre.Ord;
import fj.pre.Ordering;
/**
* @author <a href="mailto:trygvis@java.no">Trygve Laugstøl</a>
* @version $Id$
*/
public class Room {
public final String name;
public static final F<String, Room> room_ = new F<String, Room>() {
public Room f(String name) {
return new Room(name);
}
};
public static F<Room, String> name_ = new F<Room, String>() {
public String f(Room room) {
return room.name;
}
};
public static Ord<Room> ord = Ord.ord(curry(new F2<Room, Room, Ordering>() {
public Ordering f(Room a, Room b) {
return Ord.stringOrd.compare(a.name, b.name);
}
}));
public Room(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
return this == o || o instanceof Room && name.equals(((Room) o).name);
}
@Override
public int hashCode() {
return name.hashCode();
}
@Override
public String toString() {
return "Room{" +
"name='" + name + '\'' +
'}';
}
}