/**
* ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium.
*/
package org.esupportail.helpdesk.domain;
/**
* A part of the control panel order.
*/
public class ControlPanelOrderPart {
/**
* The name.
*/
private String name;
/**
* True if asc order.
*/
private boolean asc;
/**
* Constructor.
* @param orderSpecPart
*/
public ControlPanelOrderPart(
final String orderSpecPart) {
super();
if (orderSpecPart.length() < 2) {
throw new IllegalArgumentException(
"bad order spec part [" + orderSpecPart + "]");
}
String sign = orderSpecPart.substring(0, 1);
if ("+".equals(sign)) {
asc = true;
} else if ("-".equals(sign)) {
asc = false;
} else {
throw new IllegalArgumentException(
"bad order spec part [" + orderSpecPart + "]");
}
name = orderSpecPart.substring(1);
if (!ControlPanelOrder.isAllowedPartName(name)) {
throw new IllegalArgumentException(
"bad order spec part [" + orderSpecPart + "]");
}
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
String result;
if (asc) {
result = "+";
} else {
result = "-";
}
result += name;
return result;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @return the asc
*/
public boolean isAsc() {
return asc;
}
}