
com.blackbirdai.client.model.GroupParam Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of search-client Show documentation
Show all versions of search-client Show documentation
Java client for Blackbird search API
The newest version!
package com.blackbirdai.client.model;
import com.blackbirdai.client.InvalidRequestException;
import com.blackbirdai.client.util.Patterns;
import com.google.common.base.Optional;
import java.util.Collections;
import java.util.List;
public class GroupParam extends Param {
private final String field;
private final Optional num;
private final List sortParams;
public GroupParam(String field) {
this.field = field;
this.num = Optional.absent();
this.sortParams = Collections.EMPTY_LIST;
}
public GroupParam(String field, int num) {
this.field = field;
this.num = Optional.of(num);
this.sortParams = Collections.EMPTY_LIST;
}
public GroupParam(String field, List sortParams) {
this.field = field;
this.num = Optional.absent();
this.sortParams = sortParams;
}
public GroupParam(String field, int num, List sortParams) {
this.field = field;
this.num = Optional.of(num);
this.sortParams = sortParams;
}
@Override
StringBuilder appendQueryStr(StringBuilder builder) throws InvalidRequestException {
if (!Patterns.FIELD_P.matcher(field).matches()) {
throw new InvalidRequestException("Invalid field-name found: " + field);
}
builder.append("&group=field=");
builder.append(field);
if (num.isPresent()) {
builder.append("/num=");
builder.append(num.get());
}
if (sortParams.size() > 0) {
builder.append("/sort=");
boolean comma = false;
for (SortParam sortParam : sortParams) {
if (comma) builder.append(',');
sortParam.appendQueryStr(builder);
comma = true;
}
}
return builder;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy