/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package de.cismet.cismap.commons.wms.capabilities.deegree;
import org.deegree.datatypes.values.TypedLiteral;
import org.deegree.owscommon_new.DomainType;
import java.util.ArrayList;
import java.util.List;
import de.cismet.cismap.commons.wms.capabilities.Parameter;
/**
* DOCUMENT ME!
*
* @author therter
* @version $Revision$, $Date$
*/
public class DeegreeParameter implements Parameter {
//~ Instance fields --------------------------------------------------------
private org.deegree.owscommon_new.Parameter parameter;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new DeegreeParameter object.
*
* @param parameter DOCUMENT ME!
*/
public DeegreeParameter(final org.deegree.owscommon_new.Parameter parameter) {
this.parameter = parameter;
}
//~ Methods ----------------------------------------------------------------
@Override
public String getName() {
if (parameter instanceof DomainType) {
return ((DomainType)parameter).getName().getLocalName();
}
return null;
}
@Override
public List<String> getAllowedValues() {
final List<String> result = new ArrayList<String>();
if (parameter instanceof DomainType) {
final DomainType dt = (DomainType)parameter;
for (final TypedLiteral tl : dt.getValues()) {
result.add(tl.getValue());
}
}
return result;
}
@Override
public boolean equals(final Object obj) {
if (obj instanceof DeegreeParameter) {
final DeegreeParameter other = (DeegreeParameter)obj;
return getName().equals(other.getName());
}
return super.equals(obj);
}
@Override
public int hashCode() {
int hash = 5;
hash = (67 * hash) + ((this.getName() != null) ? this.getName().hashCode() : 0);
return hash;
}
}