# Interface DescriptorProtos.FileDescriptorProtoOrBuilder (3.19.4)

    public static interface DescriptorProtos.FileDescriptorProtoOrBuilder extends MessageOrBuilder

## Implements

[MessageOrBuilder](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder)

## Methods

### getDependency(int index)

    public abstract String getDependency(int index)

Names of files imported by this file.

`repeated string dependency = 3;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The dependency at the given index. |

### getDependencyBytes(int index)

    public abstract ByteString getDependencyBytes(int index)

Names of files imported by this file.

`repeated string dependency = 3;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the value to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString` | The bytes of the dependency at the given index. |

### getDependencyCount()

    public abstract int getDependencyCount()

Names of files imported by this file.

`repeated string dependency = 3;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of dependency. |

### getDependencyList()

    public abstract List<String> getDependencyList()

Names of files imported by this file.

`repeated string dependency = 3;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/String.html>` | A list containing the dependency. |

### getEnumType(int index)

    public abstract DescriptorProtos.EnumDescriptorProto getEnumType(int index)

`repeated .google.protobuf.EnumDescriptorProto enum_type = 5;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.EnumDescriptorProto` |   |

### getEnumTypeCount()

    public abstract int getEnumTypeCount()

`repeated .google.protobuf.EnumDescriptorProto enum_type = 5;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### getEnumTypeList()

    public abstract List<DescriptorProtos.EnumDescriptorProto> getEnumTypeList()

`repeated .google.protobuf.EnumDescriptorProto enum_type = 5;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.EnumDescriptorProto>` |   |

### getEnumTypeOrBuilder(int index)

    public abstract DescriptorProtos.EnumDescriptorProtoOrBuilder getEnumTypeOrBuilder(int index)

`repeated .google.protobuf.EnumDescriptorProto enum_type = 5;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.EnumDescriptorProtoOrBuilder` |   |

### getEnumTypeOrBuilderList()

    public abstract List<? extends DescriptorProtos.EnumDescriptorProtoOrBuilder> getEnumTypeOrBuilderList()

`repeated .google.protobuf.EnumDescriptorProto enum_type = 5;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<? extends com.google.protobuf.DescriptorProtos.EnumDescriptorProtoOrBuilder>` |   |

### getExtension(int index)

    public abstract DescriptorProtos.FieldDescriptorProto getExtension(int index)

`repeated .google.protobuf.FieldDescriptorProto extension = 7;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.FieldDescriptorProto` |   |

### getExtensionCount()

    public abstract int getExtensionCount()

`repeated .google.protobuf.FieldDescriptorProto extension = 7;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### getExtensionList()

    public abstract List<DescriptorProtos.FieldDescriptorProto> getExtensionList()

`repeated .google.protobuf.FieldDescriptorProto extension = 7;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.FieldDescriptorProto>` |   |

### getExtensionOrBuilder(int index)

    public abstract DescriptorProtos.FieldDescriptorProtoOrBuilder getExtensionOrBuilder(int index)

`repeated .google.protobuf.FieldDescriptorProto extension = 7;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.FieldDescriptorProtoOrBuilder` |   |

### getExtensionOrBuilderList()

    public abstract List<? extends DescriptorProtos.FieldDescriptorProtoOrBuilder> getExtensionOrBuilderList()

`repeated .google.protobuf.FieldDescriptorProto extension = 7;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<? extends com.google.protobuf.DescriptorProtos.FieldDescriptorProtoOrBuilder>` |   |

### getMessageType(int index)

    public abstract DescriptorProtos.DescriptorProto getMessageType(int index)

All top-level definitions in this file.

`repeated .google.protobuf.DescriptorProto message_type = 4;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.DescriptorProto` |   |

### getMessageTypeCount()

    public abstract int getMessageTypeCount()

All top-level definitions in this file.

`repeated .google.protobuf.DescriptorProto message_type = 4;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### getMessageTypeList()

    public abstract List<DescriptorProtos.DescriptorProto> getMessageTypeList()

All top-level definitions in this file.

`repeated .google.protobuf.DescriptorProto message_type = 4;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.DescriptorProto>` |   |

### getMessageTypeOrBuilder(int index)

    public abstract DescriptorProtos.DescriptorProtoOrBuilder getMessageTypeOrBuilder(int index)

All top-level definitions in this file.

`repeated .google.protobuf.DescriptorProto message_type = 4;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.DescriptorProtoOrBuilder` |   |

### getMessageTypeOrBuilderList()

    public abstract List<? extends DescriptorProtos.DescriptorProtoOrBuilder> getMessageTypeOrBuilderList()

All top-level definitions in this file.

`repeated .google.protobuf.DescriptorProto message_type = 4;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<? extends com.google.protobuf.DescriptorProtos.DescriptorProtoOrBuilder>` |   |

### getName()

    public abstract String getName()

file name, relative to root of source tree

`optional string name = 1;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The name. |

### getNameBytes()

    public abstract ByteString getNameBytes()

file name, relative to root of source tree

`optional string name = 1;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString` | The bytes for name. |

### getOptions()

    public abstract DescriptorProtos.FileOptions getOptions()

`optional .google.protobuf.FileOptions options = 8;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.FileOptions` | The options. |

### getOptionsOrBuilder()

    public abstract DescriptorProtos.FileOptionsOrBuilder getOptionsOrBuilder()

`optional .google.protobuf.FileOptions options = 8;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.FileOptionsOrBuilder` |   |

### getPackage()

    public abstract String getPackage()

e.g. "foo", "foo.bar", etc.

`optional string package = 2;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The package. |

### getPackageBytes()

    public abstract ByteString getPackageBytes()

e.g. "foo", "foo.bar", etc.

`optional string package = 2;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString` | The bytes for package. |

### getPublicDependency(int index)

    public abstract int getPublicDependency(int index)

Indexes of the public imported files in the dependency list above.

`repeated int32 public_dependency = 10;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The publicDependency at the given index. |

### getPublicDependencyCount()

    public abstract int getPublicDependencyCount()

Indexes of the public imported files in the dependency list above.

`repeated int32 public_dependency = 10;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of publicDependency. |

### getPublicDependencyList()

    public abstract List<Integer> getPublicDependencyList()

Indexes of the public imported files in the dependency list above.

`repeated int32 public_dependency = 10;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html>` | A list containing the publicDependency. |

### getService(int index)

    public abstract DescriptorProtos.ServiceDescriptorProto getService(int index)

`repeated .google.protobuf.ServiceDescriptorProto service = 6;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.ServiceDescriptorProto` |   |

### getServiceCount()

    public abstract int getServiceCount()

`repeated .google.protobuf.ServiceDescriptorProto service = 6;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### getServiceList()

    public abstract List<DescriptorProtos.ServiceDescriptorProto> getServiceList()

`repeated .google.protobuf.ServiceDescriptorProto service = 6;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.ServiceDescriptorProto>` |   |

### getServiceOrBuilder(int index)

    public abstract DescriptorProtos.ServiceDescriptorProtoOrBuilder getServiceOrBuilder(int index)

`repeated .google.protobuf.ServiceDescriptorProto service = 6;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.ServiceDescriptorProtoOrBuilder` |   |

### getServiceOrBuilderList()

    public abstract List<? extends DescriptorProtos.ServiceDescriptorProtoOrBuilder> getServiceOrBuilderList()

`repeated .google.protobuf.ServiceDescriptorProto service = 6;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<? extends com.google.protobuf.DescriptorProtos.ServiceDescriptorProtoOrBuilder>` |   |

### getSourceCodeInfo()

    public abstract DescriptorProtos.SourceCodeInfo getSourceCodeInfo()

This field contains optional information about the original source code.
You may safely remove this entire field without harming runtime
functionality of the descriptors -- the information is needed only by
development tools.

`optional .google.protobuf.SourceCodeInfo source_code_info = 9;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.SourceCodeInfo` | The sourceCodeInfo. |

### getSourceCodeInfoOrBuilder()

    public abstract DescriptorProtos.SourceCodeInfoOrBuilder getSourceCodeInfoOrBuilder()

This field contains optional information about the original source code.
You may safely remove this entire field without harming runtime
functionality of the descriptors -- the information is needed only by
development tools.

`optional .google.protobuf.SourceCodeInfo source_code_info = 9;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.DescriptorProtos.SourceCodeInfoOrBuilder` |   |

### getSyntax()

    public abstract String getSyntax()

The syntax of the proto file.
The supported values are "proto2" and "proto3".

`optional string syntax = 12;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/String.html` | The syntax. |

### getSyntaxBytes()

    public abstract ByteString getSyntaxBytes()

The syntax of the proto file.
The supported values are "proto2" and "proto3".

`optional string syntax = 12;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString` | The bytes for syntax. |

### getWeakDependency(int index)

    public abstract int getWeakDependency(int index)

Indexes of the weak imported files in the dependency list.
For Google-internal migration only. Do not use.

`repeated int32 weak_dependency = 11;`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` The index of the element to return. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The weakDependency at the given index. |

### getWeakDependencyCount()

    public abstract int getWeakDependencyCount()

Indexes of the weak imported files in the dependency list.
For Google-internal migration only. Do not use.

`repeated int32 weak_dependency = 11;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | The count of weakDependency. |

### getWeakDependencyList()

    public abstract List<Integer> getWeakDependencyList()

Indexes of the weak imported files in the dependency list.
For Google-internal migration only. Do not use.

`repeated int32 weak_dependency = 11;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/List.html<https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html>` | A list containing the weakDependency. |

### hasName()

    public abstract boolean hasName()

file name, relative to root of source tree

`optional string name = 1;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the name field is set. |

### hasOptions()

    public abstract boolean hasOptions()

`optional .google.protobuf.FileOptions options = 8;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the options field is set. |

### hasPackage()

    public abstract boolean hasPackage()

e.g. "foo", "foo.bar", etc.

`optional string package = 2;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the package field is set. |

### hasSourceCodeInfo()

    public abstract boolean hasSourceCodeInfo()

This field contains optional information about the original source code.
You may safely remove this entire field without harming runtime
functionality of the descriptors -- the information is needed only by
development tools.

`optional .google.protobuf.SourceCodeInfo source_code_info = 9;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the sourceCodeInfo field is set. |

### hasSyntax()

    public abstract boolean hasSyntax()

The syntax of the proto file.
The supported values are "proto2" and "proto3".

`optional string syntax = 12;`

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` | Whether the syntax field is set. |