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

hansken_extraction_plugin.framework.PrimitiveMessages.proto Maven / Gradle / Ivy

There is a newer version: 0.8.3
Show newest version
syntax = "proto3";

// UPDATE NOTICE
//
// If you introduce new features or make breaking changes to the GRPC protocol
// definitions, please update VersionUitl.java and apiversion.properties as
// described in the projects README.md

package org.hansken.extraction.plugin.grpc;

option java_multiple_files = true;
option java_package = "org.hansken.extraction.plugin.grpc";

import "google/protobuf/any.proto";

/**
 * This proto file contains message definitions from the primitive data structures, such
 * as integers, dates, lists, etc...
 */

/**
 * Message representing a 'null' reference value.
 */
message RpcNull {
}

/**
 * Message representing a sequence of bytes.
 */
message RpcBytes {
    bytes value = 1;
}

/**
 * Message representing a boolean value.
 */
message RpcBoolean {
    bool value = 1;
}

/**
 * Message representing a 32-bit signed integer.
 */
message RpcInteger {
    int32 value = 1;
}

/**
 * Message representing a 64-bit signed integer.
 */
message RpcLong {
    int64 value = 1;
}

/**
 * Message representing a double-precision 64-bit IEEE 754 floating point.
 */
message RpcDouble {
    double value = 1;
}

/**
 * Message representing a string (a sequence of characters).
 */
message RpcString {
    string value = 1;
}

/**
 * Message representing a latitude and longitude pair (i.e. a location).
 */
message RpcLatLong {
    double latitude = 1;
    double longitude = 2;
}

/**
 * Message representing a Unix timestamp, in milliseconds.
 */
message RpcUnixTime {
    int64 value = 1;
}

/**
 * Message representing a vector.
 */
message RpcVector {
    bytes value = 1;
}

/**
 * Message representing a timestamp in a specific zone with a specific offset. For a
 * description of the valid values of these properties, such as the zone ID, refer to the ZonedDateTime JavaDoc:
 * 
 * ZonedDateTime JavaDoc.
 * 

* All fields are required. */ message RpcZonedDateTime { // number of seconds since 1970-01-01T00:00:00Z int64 epochSecond = 1; // the sub-second time in nanoseconds int32 nanoOfSecond = 2; // the offset from Greenwich/UTC string zoneOffset = 3; // the zone id, for example 'Europe/Amsterdam' string zoneId = 4; } /** * Message representing an as is string implementation of an ISO 8601 date. This should mainly be used with Python * datetime objects because of their lack of precision due to the underlying floating point posix time. */ message RpcIsoDateString { string value = 1; } /** * Message representing an empty list of any type. * * Note: in Java, it is generally not possible to retrieve the runtime generic parameter * type of a list. In case it is empty, there is also no element to base the type on. * One should use this empty list message in that case, as it is clear in intent. */ message RpcEmptyList { } /** * Message representing a list of string values. */ message RpcStringList { repeated string values = 1; } /** * Message representing a list of long values. */ message RpcLongList { repeated int64 values = 1; } /** * Message representing an empty map of any key-value type. * * Note: in Java, it is generally not possible to retrieve the runtime generic parameter * type of a map. In case it is empty, there is also no element to base the type on. * One should use this empty map message in that case, as it is clear in intent. */ message RpcEmptyMap { } /** * Message representing a map of string keys and values. * @deprecated: use RpcMap instead. */ message RpcStringMap { option deprecated = true; map entries = 1; } /** * Message representing a map of string keys and any of the supported RPC types as values. */ message RpcMap { map entries = 1; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy