com.browseengine.bobo.api.BrowseFacet Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bobo-browse Show documentation
Show all versions of bobo-browse Show documentation
Bobo is a Faceted Search implementation written purely in Java, an extension of Apache Lucene
The newest version!
package com.browseengine.bobo.api;
import java.io.Serializable;
import java.util.Comparator;
import java.util.List;
/**
* This class represents a facet
*/
public class BrowseFacet implements Serializable {
private static final long serialVersionUID = 1L;
private String _value;
private int _hitcount;
public BrowseFacet() {
}
public BrowseFacet(String value, int hitcount) {
_value = value;
_hitcount = hitcount;
}
/**
* Gets the facet value
* @return value
* @see #setValue(String)
*/
public String getValue() {
return _value;
}
/**
* Sets the facet value
*
* @param value Facet value
* @see #getValue()
*/
public BrowseFacet setValue(String value) {
_value = value;
return this;
}
/**
* Gets the hit count
* @return hit count
* @deprecated use {@link #getFacetValueHitCount()}
*/
@Deprecated
public int getHitCount() {
return _hitcount;
}
/**
* Sets the hit count
*
* @param hitcount Hit count
* @deprecated use {@link #setFacetValueHitCount(int)}
*/
@Deprecated
public BrowseFacet setHitCount(int hitcount) {
_hitcount = hitcount;
return this;
}
/**
* Gets the hit count
* @return hit count
* @see #setHitCount(int)
*/
public int getFacetValueHitCount() {
return _hitcount;
}
/**
* Sets the hit count
*
* @param hitcount Hit count
* @see #getHitCount()
*/
public BrowseFacet setFacetValueHitCount(int hitcount) {
_hitcount = hitcount;
return this;
}
@Override
public String toString() {
StringBuilder buf = new StringBuilder();
buf.append(_value).append("(").append(_hitcount).append(")");
return buf.toString();
}
@Override
public boolean equals(Object obj) {
boolean equals = false;
if (obj instanceof BrowseFacet) {
BrowseFacet c2 = (BrowseFacet) obj;
if (_hitcount == c2._hitcount && _value.equals(c2._value)) {
equals = true;
}
}
return equals;
}
public List merge(List v, Comparator comparator) {
for (BrowseFacet facet : v) {
int val = comparator.compare(this, facet);
if (val == 0) {
facet._hitcount += this._hitcount;
return v;
}
if (val > 0) {
}
}
v.add(this);
return v;
}
}