// Targeted by JavaCPP version 1.2.2: DO NOT EDIT THIS FILE

package org.korpling.graphannis;

import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;

public class API extends org.korpling.graphannis.info.AnnisApiInfo {
    static { Loader.load(); }

@Name("std::vector<std::string>") public static class StringVector extends Pointer {
    static { Loader.load(); }
    /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
    public StringVector(Pointer p) { super(p); }
    public StringVector(BytePointer ... array) { this(array.length); put(array); }
    public StringVector(String ... array) { this(array.length); put(array); }
    public StringVector()       { allocate();  }
    public StringVector(long n) { allocate(n); }
    private native void allocate();
    private native void allocate(@Cast("size_t") long n);
    public native @Name("operator=") @ByRef StringVector put(@ByRef StringVector x);

    public native long size();
    public native void resize(@Cast("size_t") long n);

    @Index public native @StdString BytePointer get(@Cast("size_t") long i);
    public native StringVector put(@Cast("size_t") long i, BytePointer value);
    @ValueSetter @Index public native StringVector put(@Cast("size_t") long i, @StdString String value);

    public StringVector put(BytePointer ... array) {
        if (size() != array.length) { resize(array.length); }
        for (int i = 0; i < array.length; i++) {
            put(i, array[i]);
        }
        return this;
    }

    public StringVector put(String ... array) {
        if (size() != array.length) { resize(array.length); }
        for (int i = 0; i < array.length; i++) {
            put(i, array[i]);
        }
        return this;
    }
}

// Parsed from annis/api/search.h

// #pragma once

// #include <memory>
// #include <vector>
// #include <list>

// #include <annis/db.h>
// #include <annis/DBCache.h>
// #include <annis/json/jsonqueryparser.h>
/**
 * An API for searching in a corpus.
 */
@Namespace("annis::api") @NoOffset public static class Search extends Pointer {
    static { Loader.load(); }
    /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
    public Search(Pointer p) { super(p); }


  public Search(@StdString BytePointer databaseDir) { super((Pointer)null); allocate(databaseDir); }
  private native void allocate(@StdString BytePointer databaseDir);
  public Search(@StdString String databaseDir) { super((Pointer)null); allocate(databaseDir); }
  private native void allocate(@StdString String databaseDir);

  /**
   * Count all occurrences of an AQL query in a single corpus.
   *
   * @param corpus
   * @param queryAsJSON
   * @return
   */
  public native long count(@ByVal StringVector corpora,
                    @StdString BytePointer queryAsJSON);
  public native long count(@ByVal StringVector corpora,
                    @StdString String queryAsJSON);

  /**
   * Find occurrences of an AQL query in a single corpus.
   * @param corpora
   * @param queryAsJSON
   * @param offset
   * @param limit
   * @return
   */
  public native @ByVal StringVector find(@ByVal StringVector corpora, @StdString BytePointer queryAsJSON, long offset/*=0*/, long limit/*=10*/);
  public native @ByVal StringVector find(@ByVal StringVector corpora, @StdString BytePointer queryAsJSON);
  public native @ByVal StringVector find(@ByVal StringVector corpora, @StdString String queryAsJSON, long offset/*=0*/, long limit/*=10*/);
  public native @ByVal StringVector find(@ByVal StringVector corpora, @StdString String queryAsJSON);
}

 // end namespace annis


}

@@ -1935,11 +1935,11 @@
 nis/
-DBC
+dbc
 ache

include changed