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

org.yamcs.protobuf.AbstractTableApi Maven / Gradle / Ivy

There is a newer version: 5.10.1
Show newest version
package org.yamcs.protobuf;

import com.google.protobuf.Descriptors.MethodDescriptor;
import com.google.protobuf.Descriptors.ServiceDescriptor;
import com.google.protobuf.Message;
import org.yamcs.api.Api;
import org.yamcs.api.Observer;
import org.yamcs.protobuf.Table.ExecuteSqlRequest;
import org.yamcs.protobuf.Table.ExecuteSqlResponse;
import org.yamcs.protobuf.Table.GetStreamRequest;
import org.yamcs.protobuf.Table.GetTableDataRequest;
import org.yamcs.protobuf.Table.GetTableRequest;
import org.yamcs.protobuf.Table.ListStreamsRequest;
import org.yamcs.protobuf.Table.ListStreamsResponse;
import org.yamcs.protobuf.Table.ListTablesRequest;
import org.yamcs.protobuf.Table.ListTablesResponse;
import org.yamcs.protobuf.Table.ReadRowsRequest;
import org.yamcs.protobuf.Table.Row;
import org.yamcs.protobuf.Table.StreamInfo;
import org.yamcs.protobuf.Table.TableData;
import org.yamcs.protobuf.Table.TableInfo;

/**
 * Service for reading and writing to Yarch tables and streams
 */
// @javax.annotation.processing.Generated(value = "org.yamcs.protoc.ServiceGenerator", date = "2019-11-25T14:47:49.710Z")
public abstract class AbstractTableApi implements Api {

    /**
     * Execute SQL
     */
    public abstract void executeSql(T ctx, ExecuteSqlRequest request, Observer observer);

    /**
     * List streams
     */
    public abstract void listStreams(T ctx, ListStreamsRequest request, Observer observer);

    /**
     * Get a stream
     */
    public abstract void getStream(T ctx, GetStreamRequest request, Observer observer);

    /**
     * List tables
     */
    public abstract void listTables(T ctx, ListTablesRequest request, Observer observer);

    /**
     * Get a table
     */
    public abstract void getTable(T ctx, GetTableRequest request, Observer observer);

    /**
     * Get table data
     */
    public abstract void getTableData(T ctx, GetTableDataRequest request, Observer observer);

    /**
     * Streams back the contents of all rows in key order
     */
    public abstract void readRows(T ctx, ReadRowsRequest request, Observer observer);

    @Override
    public final ServiceDescriptor getDescriptorForType() {
        return Table.getDescriptor().getServices().get(0);
    }

    @Override
    public final Message getRequestPrototype(MethodDescriptor method) {
        if (method.getService() != getDescriptorForType()) {
            throw new IllegalArgumentException("Method not contained by this service.");
        }
        switch (method.getIndex()) {
        case 0:
            return ExecuteSqlRequest.getDefaultInstance();
        case 1:
            return ListStreamsRequest.getDefaultInstance();
        case 2:
            return GetStreamRequest.getDefaultInstance();
        case 3:
            return ListTablesRequest.getDefaultInstance();
        case 4:
            return GetTableRequest.getDefaultInstance();
        case 5:
            return GetTableDataRequest.getDefaultInstance();
        case 6:
            return ReadRowsRequest.getDefaultInstance();
        default:
            throw new IllegalStateException();
        }
    }

    @Override
    public final Message getResponsePrototype(MethodDescriptor method) {
        if (method.getService() != getDescriptorForType()) {
            throw new IllegalArgumentException("Method not contained by this service.");
        }
        switch (method.getIndex()) {
        case 0:
            return ExecuteSqlResponse.getDefaultInstance();
        case 1:
            return ListStreamsResponse.getDefaultInstance();
        case 2:
            return StreamInfo.getDefaultInstance();
        case 3:
            return ListTablesResponse.getDefaultInstance();
        case 4:
            return TableInfo.getDefaultInstance();
        case 5:
            return TableData.getDefaultInstance();
        case 6:
            return Row.getDefaultInstance();
        default:
            throw new IllegalStateException();
        }
    }

    @Override
    @SuppressWarnings("unchecked")
    public final void callMethod(MethodDescriptor method, T ctx, Message request, Observer future) {
        if (method.getService() != getDescriptorForType()) {
            throw new IllegalArgumentException("Method not contained by this service.");
        }
        switch (method.getIndex()) {
        case 0:
            executeSql(ctx, (ExecuteSqlRequest) request, (Observer)(Object) future);
            return;
        case 1:
            listStreams(ctx, (ListStreamsRequest) request, (Observer)(Object) future);
            return;
        case 2:
            getStream(ctx, (GetStreamRequest) request, (Observer)(Object) future);
            return;
        case 3:
            listTables(ctx, (ListTablesRequest) request, (Observer)(Object) future);
            return;
        case 4:
            getTable(ctx, (GetTableRequest) request, (Observer)(Object) future);
            return;
        case 5:
            getTableData(ctx, (GetTableDataRequest) request, (Observer)(Object) future);
            return;
        case 6:
            readRows(ctx, (ReadRowsRequest) request, (Observer)(Object) future);
            return;
        default:
            throw new IllegalStateException();
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy