A version string for this interface. If specified, must have the formmajor-version.minor-version, as in1.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 usessemantic
versioningwhere 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 inv<major-version>, as ingoogle.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.
A version string for this interface. If specified, must have the formmajor-version.minor-version, as in1.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 usessemantic
versioningwhere 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 inv<major-version>, as ingoogle.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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Interface ApiOrBuilder (3.19.4)\n\n public interface ApiOrBuilder extends MessageLiteOrBuilder\n\nImplements\n----------\n\n[MessageLiteOrBuilder](/java/docs/reference/protobuf/latest/com.google.protobuf.MessageLiteOrBuilder)\n\nMethods\n-------\n\n### getMethods(int index)\n\n public abstract Method getMethods(int index)\n\nThe methods of this interface, in unspecified order.\n\n`repeated .google.protobuf.Method methods = 2;`\n\n### getMethodsCount()\n\n public abstract int getMethodsCount()\n\nThe methods of this interface, in unspecified order.\n\n`repeated .google.protobuf.Method methods = 2;`\n\n### getMethodsList()\n\n public abstract List\u003cMethod\u003e getMethodsList()\n\nThe methods of this interface, in unspecified order.\n\n`repeated .google.protobuf.Method methods = 2;`\n\n### getMixins(int index)\n\n public abstract Mixin getMixins(int index)\n\nIncluded interfaces. See \\[Mixin\\]\\[\\].\n\n`repeated .google.protobuf.Mixin mixins = 6;`\n\n### getMixinsCount()\n\n public abstract int getMixinsCount()\n\nIncluded interfaces. See \\[Mixin\\]\\[\\].\n\n`repeated .google.protobuf.Mixin mixins = 6;`\n\n### getMixinsList()\n\n public abstract List\u003cMixin\u003e getMixinsList()\n\nIncluded interfaces. See \\[Mixin\\]\\[\\].\n\n`repeated .google.protobuf.Mixin mixins = 6;`\n\n### getName()\n\n public abstract String getName()\n\nThe fully qualified name of this interface, including package name\nfollowed by the interface's simple name.\n\n`string name = 1;`\n\n### getNameBytes()\n\n public abstract ByteString getNameBytes()\n\nThe fully qualified name of this interface, including package name\nfollowed by the interface's simple name.\n\n`string name = 1;`\n\n### getOptions(int index)\n\n public abstract Option getOptions(int index)\n\nAny metadata attached to the interface.\n\n`repeated .google.protobuf.Option options = 3;`\n\n### getOptionsCount()\n\n public abstract int getOptionsCount()\n\nAny metadata attached to the interface.\n\n`repeated .google.protobuf.Option options = 3;`\n\n### getOptionsList()\n\n public abstract List\u003cOption\u003e getOptionsList()\n\nAny metadata attached to the interface.\n\n`repeated .google.protobuf.Option options = 3;`\n\n### getSourceContext()\n\n public abstract SourceContext getSourceContext()\n\nSource context for the protocol buffer service represented by this\nmessage.\n\n`.google.protobuf.SourceContext source_context = 5;`\n\n### getSyntax()\n\n public abstract Syntax getSyntax()\n\nThe source syntax of the service.\n\n`.google.protobuf.Syntax syntax = 7;`\n\n### getSyntaxValue()\n\n public abstract int getSyntaxValue()\n\nThe source syntax of the service.\n\n`.google.protobuf.Syntax syntax = 7;`\n\n### getVersion()\n\n public abstract String getVersion()\n\nA version string for this interface. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version is\nomitted, it defaults to zero. If the entire version field is empty, the\nmajor version is derived from the package name, as outlined below. If the\nfield is not empty, the version in the package name will be verified to be\nconsistent with what is provided here.\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\nThe major version is also reflected in the package name of the\ninterface, which must end in `v\u003cmajor-version\u003e`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, non-GA interfaces.\n\n`string version = 4;`\n\n### getVersionBytes()\n\n public abstract ByteString getVersionBytes()\n\nA version string for this interface. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version is\nomitted, it defaults to zero. If the entire version field is empty, the\nmajor version is derived from the package name, as outlined below. If the\nfield is not empty, the version in the package name will be verified to be\nconsistent with what is provided here.\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\nThe major version is also reflected in the package name of the\ninterface, which must end in `v\u003cmajor-version\u003e`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, non-GA interfaces.\n\n`string version = 4;`\n\n### hasSourceContext()\n\n public abstract boolean hasSourceContext()\n\nSource context for the protocol buffer service represented by this\nmessage.\n\n`.google.protobuf.SourceContext source_context = 5;`"]]