Package com.github.xds.core.v3
Class ResourceLocator.Directive.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- com.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
- com.github.xds.core.v3.ResourceLocator.Directive.Builder
-
- All Implemented Interfaces:
ResourceLocator.DirectiveOrBuilder,com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Cloneable
- Enclosing class:
- ResourceLocator.Directive
public static final class ResourceLocator.Directive.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder> implements ResourceLocator.DirectiveOrBuilder
Directives provide information to data-plane load balancers on how xDS resource names are to be interpreted and potentially further resolved. For example, they may provide alternative resource locators for when primary resolution fails. Directives are not part of resource names and do not appear in a xDS transport discovery request. When encoding to URIs, directives take the form: <directive name>=<string representation of directive value> For example, we can have alt=xdstp://foo/bar or entry=some%20thing. Each directive value type may have its own string encoding, in the case of ResourceLocator there is a recursive URI encoding. Percent encoding applies to the URI encoding of the directive value. Multiple directives are comma-separated, so the reserved characters that require percent encoding in a directive value are [',', '#', '[', ']', '%']. These are the RFC3986 fragment reserved characters with the addition of the xDS scheme specific ','. See https://tools.ietf.org/html/rfc3986#page-49 for further details on URI ABNF and reserved characters.
Protobuf typexds.core.v3.ResourceLocator.Directive
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourceLocator.Directive.BuilderaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)ResourceLocator.Directivebuild()ResourceLocator.DirectivebuildPartial()ResourceLocator.Directive.Builderclear()ResourceLocator.Directive.BuilderclearAlt()An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.BuilderclearDirective()ResourceLocator.Directive.BuilderclearEntry()List collections support inlining of resources via the entry field in Resource.ResourceLocator.Directive.BuilderclearField(com.google.protobuf.Descriptors.FieldDescriptor field)ResourceLocator.Directive.BuilderclearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)ResourceLocator.Directive.Builderclone()ResourceLocatorgetAlt()An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.BuildergetAltBuilder()An alternative resource locator for fallback if the resource is unavailable.ResourceLocatorOrBuildergetAltOrBuilder()An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.DirectivegetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()com.google.protobuf.Descriptors.DescriptorgetDescriptorForType()ResourceLocator.Directive.DirectiveCasegetDirectiveCase()StringgetEntry()List collections support inlining of resources via the entry field in Resource.com.google.protobuf.ByteStringgetEntryBytes()List collections support inlining of resources via the entry field in Resource.booleanhasAlt()An alternative resource locator for fallback if the resource is unavailable.booleanhasEntry()List collections support inlining of resources via the entry field in Resource.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()ResourceLocator.Directive.BuildermergeAlt(ResourceLocator value)An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.BuildermergeFrom(ResourceLocator.Directive other)ResourceLocator.Directive.BuildermergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)ResourceLocator.Directive.BuildermergeFrom(com.google.protobuf.Message other)ResourceLocator.Directive.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)ResourceLocator.Directive.BuildersetAlt(ResourceLocator value)An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.BuildersetAlt(ResourceLocator.Builder builderForValue)An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.BuildersetEntry(String value)List collections support inlining of resources via the entry field in Resource.ResourceLocator.Directive.BuildersetEntryBytes(com.google.protobuf.ByteString value)List collections support inlining of resources via the entry field in Resource.ResourceLocator.Directive.BuildersetField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)ResourceLocator.Directive.BuildersetRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)ResourceLocator.Directive.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
clear
public ResourceLocator.Directive.Builder clear()
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
getDefaultInstanceForType
public ResourceLocator.Directive getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public ResourceLocator.Directive build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public ResourceLocator.Directive buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
public ResourceLocator.Directive.Builder clone()
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
setField
public ResourceLocator.Directive.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
clearField
public ResourceLocator.Directive.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
clearOneof
public ResourceLocator.Directive.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
setRepeatedField
public ResourceLocator.Directive.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
- Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
addRepeatedField
public ResourceLocator.Directive.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
mergeFrom
public ResourceLocator.Directive.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<ResourceLocator.Directive.Builder>
-
mergeFrom
public ResourceLocator.Directive.Builder mergeFrom(ResourceLocator.Directive other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
mergeFrom
public ResourceLocator.Directive.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<ResourceLocator.Directive.Builder>- Throws:
IOException
-
getDirectiveCase
public ResourceLocator.Directive.DirectiveCase getDirectiveCase()
- Specified by:
getDirectiveCasein interfaceResourceLocator.DirectiveOrBuilder
-
clearDirective
public ResourceLocator.Directive.Builder clearDirective()
-
hasAlt
public boolean hasAlt()
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;- Specified by:
hasAltin interfaceResourceLocator.DirectiveOrBuilder- Returns:
- Whether the alt field is set.
-
getAlt
public ResourceLocator getAlt()
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;- Specified by:
getAltin interfaceResourceLocator.DirectiveOrBuilder- Returns:
- The alt.
-
setAlt
public ResourceLocator.Directive.Builder setAlt(ResourceLocator value)
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;
-
setAlt
public ResourceLocator.Directive.Builder setAlt(ResourceLocator.Builder builderForValue)
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;
-
mergeAlt
public ResourceLocator.Directive.Builder mergeAlt(ResourceLocator value)
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;
-
clearAlt
public ResourceLocator.Directive.Builder clearAlt()
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;
-
getAltBuilder
public ResourceLocator.Builder getAltBuilder()
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;
-
getAltOrBuilder
public ResourceLocatorOrBuilder getAltOrBuilder()
An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes.
.xds.core.v3.ResourceLocator alt = 1;- Specified by:
getAltOrBuilderin interfaceResourceLocator.DirectiveOrBuilder
-
hasEntry
public boolean hasEntry()
List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar.
string entry = 2 [(.validate.rules) = { ... }- Specified by:
hasEntryin interfaceResourceLocator.DirectiveOrBuilder- Returns:
- Whether the entry field is set.
-
getEntry
public String getEntry()
List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar.
string entry = 2 [(.validate.rules) = { ... }- Specified by:
getEntryin interfaceResourceLocator.DirectiveOrBuilder- Returns:
- The entry.
-
getEntryBytes
public com.google.protobuf.ByteString getEntryBytes()
List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar.
string entry = 2 [(.validate.rules) = { ... }- Specified by:
getEntryBytesin interfaceResourceLocator.DirectiveOrBuilder- Returns:
- The bytes for entry.
-
setEntry
public ResourceLocator.Directive.Builder setEntry(String value)
List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar.
string entry = 2 [(.validate.rules) = { ... }- Parameters:
value- The entry to set.- Returns:
- This builder for chaining.
-
clearEntry
public ResourceLocator.Directive.Builder clearEntry()
List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar.
string entry = 2 [(.validate.rules) = { ... }- Returns:
- This builder for chaining.
-
setEntryBytes
public ResourceLocator.Directive.Builder setEntryBytes(com.google.protobuf.ByteString value)
List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar.
string entry = 2 [(.validate.rules) = { ... }- Parameters:
value- The bytes for entry to set.- Returns:
- This builder for chaining.
-
setUnknownFields
public final ResourceLocator.Directive.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
mergeUnknownFields
public final ResourceLocator.Directive.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ResourceLocator.Directive.Builder>
-
-