/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.discovery.configuration;
import org.springframework.beans.factory.annotation.Required;
/**
* Special sidebar facet configuration used for hierarchical facets
*
* @author Kevin Van de Velde (kevin at atmire dot com)
* @author Ben Bosman (ben at atmire dot com)
* @author Mark Diggory (markd at atmire dot com)
*/
public class HierarchicalSidebarFacetConfiguration extends DiscoverySearchFilterFacet{
private String splitter;
private boolean skipFirstNodeLevel = true;
public HierarchicalSidebarFacetConfiguration() {
//Our default type is the hieracrhical, can be overridden by the configuration
this.type = DiscoveryConfigurationParameters.TYPE_HIERARCHICAL;
}
public String getSplitter() {
return splitter;
}
@Required
public void setSplitter(String splitter) {
this.splitter = splitter;
}
public boolean isSkipFirstNodeLevel() {
return skipFirstNodeLevel;
}
public void setSkipFirstNodeLevel(boolean skipFirstNodeLevel) {
this.skipFirstNodeLevel = skipFirstNodeLevel;
}
@Override
public void setType(String type) throws DiscoveryConfigurationException {
if(type.equalsIgnoreCase(DiscoveryConfigurationParameters.TYPE_HIERARCHICAL)){
this.type = type;
}else{
throw new DiscoveryConfigurationException("The " + type + " can't be used with a hierarchical facet side bar facet use the \"DiscoverySearchFilterFacet\" class instead.");
}
}
}