/*
* Copyright (c) 2005-2011 Grameen Foundation USA
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*
* See also http://www.apache.org/licenses/LICENSE-2.0.html for an
* explanation of the license and how it is applied.
*/
package org.mifos.reports.ui;
import static org.mifos.reports.util.helpers.ReportsConstants.ALL_DISPLAY_NAME;
import static org.mifos.reports.util.helpers.ReportsConstants.ALL_ID;
import static org.mifos.reports.util.helpers.ReportsConstants.NOT_APPLICABLE_DISPLAY_NAME;
import static org.mifos.reports.util.helpers.ReportsConstants.NOT_APPLICABLE_ID;
import static org.mifos.reports.util.helpers.ReportsConstants.SELECT_DISPLAY_NAME;
import static org.mifos.reports.util.helpers.ReportsConstants.SELECT_ID;
import java.io.Serializable;
public class SelectionItem implements Serializable {
public static final SelectionItem ALL_LOAN_OFFICER_SELECTION_ITEM = new SelectionItem(ALL_ID, ALL_DISPLAY_NAME);
public static final SelectionItem SELECT_LOAN_OFFICER_SELECTION_ITEM = new SelectionItem(SELECT_ID,
SELECT_DISPLAY_NAME);
public static final SelectionItem NA_LOAN_OFFICER_SELECTION_ITEM = new SelectionItem(NOT_APPLICABLE_ID,
NOT_APPLICABLE_DISPLAY_NAME);
public static final SelectionItem SELECT_BRANCH_OFFICE_SELECTION_ITEM = new SelectionItem(SELECT_ID,
SELECT_DISPLAY_NAME);
public static final SelectionItem NA_BRANCH_OFFICE_SELECTION_ITEM = new SelectionItem(NOT_APPLICABLE_ID,
NOT_APPLICABLE_DISPLAY_NAME);
public static final SelectionItem ALL_CENTER_SELECTION_ITEM = new SelectionItem(ALL_ID, ALL_DISPLAY_NAME);
public static final SelectionItem NA_CENTER_SELECTION_ITEM = new SelectionItem(NOT_APPLICABLE_ID,
NOT_APPLICABLE_DISPLAY_NAME);
public static final SelectionItem SELECT_CENTER_SELECTION_ITEM = new SelectionItem(SELECT_ID, SELECT_DISPLAY_NAME);
private String displayName;
private Integer id;
/*
* default constructor for hibernate
*/
protected SelectionItem() {
}
public SelectionItem(Integer id, String displayName) {
super();
this.displayName = displayName;
this.id = id;
}
public Integer getId() {
return id;
}
public String getDisplayName() {
return displayName;
}
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((displayName == null) ? 0 : displayName.hashCode());
result = PRIME * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final SelectionItem other = (SelectionItem) obj;
if (displayName == null) {
if (other.displayName != null) {
return false;
}
} else if (!displayName.equals(other.displayName)) {
return false;
}
if (id == null) {
if (other.id != null) {
return false;
}
} else if (!id.equals(other.id)) {
return false;
}
return true;
}
public boolean sameAs(Integer id) {
return this.id.equals(id);
}
}