package com.taskadapter.redmineapi.bean; public class Group implements Identifiable { private final PropertyStorage storage; public final static Property<Integer> ID = new Property<Integer>(Integer.class, "id"); public final static Property<String> NAME = new Property<String>(String.class, "name"); /** * Use GroupFactory to create instances of this class. * * @param id database ID. */ Group(Integer id) { storage = new PropertyStorage(); storage.set(ID, id); } public Group(PropertyStorage storage) { this.storage = storage; } @Override public Integer getId() { return storage.get(ID); } public String getName() { return storage.get(NAME); } public void setName(String name) { storage.set(NAME, name); } @Override public String toString() { return "Group{" + "id=" + getId() + ", name='" + getName() + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Group group = (Group) o; if (getId() != null ? !getId().equals(group.getId()) : group.getId() != null) return false; return true; } @Override public int hashCode() { return getId() != null ? getId().hashCode() : 0; } public PropertyStorage getStorage() { return storage; } }