Api

@SerialVersionUID(0L) final case class Api(name: String, methods: Seq[Method], options: Seq[OptionProto], version: String, sourceContext: Option[SourceContext], mixins: Seq[Mixin], syntax: Syntax, unknownFields: UnknownFieldSet) extends GeneratedMessage with Updatable[Api]

Api is a light-weight descriptor for an API Interface.

Interfaces are also described as "protocol buffer services" in some contexts, such as by the "service" keyword in a .proto file, but they are different from API Services, which represent a concrete implementation of an interface as opposed to simply a description of methods and bindings. They are also sometimes simply referred to as "APIs" in other contexts, such as the name of this message itself. See https://cloud.google.com/apis/design/glossary for detailed terminology.

Value Params
methods

The methods of this interface, in unspecified order.

mixins

Included interfaces. See [Mixin][].

name

The fully qualified name of this interface, including package name followed by the interface's simple name.

options

Any metadata attached to the interface.

sourceContext

Source context for the protocol buffer service represented by this message.

syntax

The source syntax of the service.

version

A version string for this interface. If specified, must have the form major-version.minor-version, as in 1.10. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses semantic versioning where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in v<major-version>, as in google.feature.v1. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.

Companion
object
trait Updatable[Api]
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def addAllMethods(`__vs`: Iterable[Method]): Api
def addAllMixins(`__vs`: Iterable[Mixin]): Api
def addAllOptions(`__vs`: Iterable[OptionProto]): Api
def addMethods(`__vs`: Method*): Api
def addMixins(`__vs`: Mixin*): Api
def addOptions(`__vs`: OptionProto*): Api
def getField(`__field`: FieldDescriptor): PValue
def getFieldByNumber(`__fieldNumber`: Int): Any
override def serializedSize: Int
Definition Classes
def toProtoString: String
def withMethods(`__v`: Seq[Method]): Api
def withMixins(`__v`: Seq[Mixin]): Api
def withName(`__v`: String): Api
def withOptions(`__v`: Seq[OptionProto]): Api
def withSyntax(`__v`: Syntax): Api
def withVersion(`__v`: String): Api
def writeTo(`_output__`: CodedOutputStream): Unit

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
final def toByteArray: Array[Byte]

Serializes the messgae and returns a byte array containing its raw bytes

Serializes the messgae and returns a byte array containing its raw bytes

Inherited from
GeneratedMessage
final def toByteString: ByteString

Serializes the messgae and returns a ByteString containing its raw bytes

Serializes the messgae and returns a ByteString containing its raw bytes

Inherited from
GeneratedMessage
final def toPMessage: PMessage
Inherited from
GeneratedMessage
def update(ms: Lens[Api, Api] => () => Api*): Api
Inherited from
Updatable
final def writeDelimitedTo(output: OutputStream): Unit
Inherited from
GeneratedMessage
final def writeTo(output: OutputStream): Unit

Serializes the message into the given output stream

Serializes the message into the given output stream

Inherited from
GeneratedMessage