| ComboSpec.java |
/*
* $Id: ComboSpec.java,v 1.12 2010/09/29 17:21:48 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.common.spec;
import java.util.Map;
/**
* Specification of a combo.
*
* @version $Revision: 1.12 $ $Date: 2010/09/29 17:21:48 $
* @author <a href="mailto:anthony.goubard@japplis.com">Anthony Goubard</a>
*
* @since XINS 1.4.0
*/
class ComboSpec {
/**
* The type of the combo, never <code>null</code>.
*/
private final String _type;
/**
* The parameters of this combo, never <code>null</code>.
*/
private final Map _parameters;
/**
* Creates a new <code>ComboSpec</code>.
*
* @param type
* the type of the combo, cannot be <code>null</code>.
*
* @param parameters
* the parameters this param-combo or attribute-combo refers to, cannot be <code>null</code>.
*/
ComboSpec(String type, Map parameters) {
_type = type;
_parameters = parameters;
}
/**
* Returns whether the combo is a all-or-none type.
*
* @return
* <code>true</code> if the type is <i>all-or-none</i>, <code>false</code> otherwise.
*/
public boolean isAllOrNone() {
return _type.equals("all-or-none");
}
/**
* Returns whether the combo is a not-all type.
*
* @return
* <code>true</code> if the type is <i>not-all</i>, <code>false</code> otherwise.
*/
public boolean isNotAll() {
return _type.equals("not-all");
}
/**
* Returns whether the combo is a exclusive-or type.
*
* @return
* <code>true</code> if the type is <i>exclusive-or</i>, <code>false</code> otherwise.
*/
public boolean isExclusiveOr() {
return _type.equals("exclusive-or");
}
/**
* Returns whether the combo is a inclusive-or type.
*
* @return
* <code>true</code> if the type is <i>inclusive-or</i>, <code>false</code> otherwise.
*/
public boolean isInclusiveOr() {
return _type.equals("inclusive-or");
}
/**
* Gets the parameters or attributes defined in the combo.
* The key is the name of the parameter or of the attributes,
* the value is the {@link ParameterSpec} object.
*
* @return
* the specification of the parameters defined in the combo, never <code>null</code>.
*/
protected Map getReferences() {
return _parameters;
}
}