Package com.github.xds.core.v3
Class ResourceLocator.Directive.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderT>
-
- com.google.protobuf.GeneratedMessage.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,java.lang.Cloneable
- Enclosing class:
- ResourceLocator.Directive
public static final class ResourceLocator.Directive.Builder extends com.google.protobuf.GeneratedMessage.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
-
-
Field Summary
Fields Modifier and Type Field Description private com.google.protobuf.SingleFieldBuilder<ResourceLocator,ResourceLocator.Builder,ResourceLocatorOrBuilder>altBuilder_private intbitField0_private java.lang.Objectdirective_private intdirectiveCase_
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourceLocator.Directivebuild()ResourceLocator.DirectivebuildPartial()private voidbuildPartial0(ResourceLocator.Directive result)private voidbuildPartialOneofs(ResourceLocator.Directive result)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.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.private com.google.protobuf.SingleFieldBuilder<ResourceLocator,ResourceLocator.Builder,ResourceLocatorOrBuilder>getAltFieldBuilder()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()java.lang.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.GeneratedMessage.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.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(java.lang.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.-
Methods inherited from class com.google.protobuf.GeneratedMessage.Builder
addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, 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
-
-
-
-
Field Detail
-
directiveCase_
private int directiveCase_
-
directive_
private java.lang.Object directive_
-
bitField0_
private int bitField0_
-
altBuilder_
private com.google.protobuf.SingleFieldBuilder<ResourceLocator,ResourceLocator.Builder,ResourceLocatorOrBuilder> altBuilder_
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage.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.GeneratedMessage.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.GeneratedMessage.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
-
buildPartial0
private void buildPartial0(ResourceLocator.Directive result)
-
buildPartialOneofs
private void buildPartialOneofs(ResourceLocator.Directive result)
-
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.GeneratedMessage.Builder<ResourceLocator.Directive.Builder>
-
mergeFrom
public ResourceLocator.Directive.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.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:
java.io.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
-
getAltFieldBuilder
private com.google.protobuf.SingleFieldBuilder<ResourceLocator,ResourceLocator.Builder,ResourceLocatorOrBuilder> getAltFieldBuilder()
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;
-
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 java.lang.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(java.lang.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.
-
-