All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.browseengine.bobo.facets.data.TermCharList Maven / Gradle / Ivy

Go to download

Bobo is a Faceted Search implementation written purely in Java, an extension of Apache Lucene

The newest version!
package com.browseengine.bobo.facets.data;

import it.unimi.dsi.fastutil.chars.CharArrayList;

import java.util.Arrays;
import java.util.List;

public class TermCharList extends TermValueList {

  private char[] _elements = null;

  private static char parse(String s) {
    return s == null ? (char) 0 : s.charAt(0);
  }

  public TermCharList() {
    super();
  }

  public TermCharList(int capacity) {
    super(capacity);
  }

  @Override
  public boolean add(String o) {
    return ((CharArrayList) _innerList).add(parse(o));
  }

  @Override
  protected List buildPrimitiveList(int capacity) {
    _type = Character.class;
    return capacity > 0 ? new CharArrayList(capacity) : new CharArrayList();
  }

  @Override
  public boolean containsWithType(Character val) {
    return Arrays.binarySearch(_elements, val) >= 0;
  }

  public boolean containsWithType(char val) {
    return Arrays.binarySearch(_elements, val) >= 0;
  }

  @Override
  public int indexOf(Object o) {
    char val;
    if (o instanceof String) val = parse((String) o);
    else val = (Character) o;
    char[] elements = ((CharArrayList) _innerList).elements();
    return Arrays.binarySearch(elements, val);
  }

  @Override
  public int indexOfWithType(Character val) {
    return Arrays.binarySearch(_elements, val);
  }

  public int indexOfWithType(char val) {
    return Arrays.binarySearch(_elements, val);
  }

  @Override
  public void seal() {
    ((CharArrayList) _innerList).trim();
    _elements = ((CharArrayList) _innerList).elements();
  }

  @Override
  public String format(Object o) {
    return String.valueOf(o);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy