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 int
bitField0_
private java.lang.Object
directive_
private int
directiveCase_
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourceLocator.Directive
build()
ResourceLocator.Directive
buildPartial()
private void
buildPartial0(ResourceLocator.Directive result)
private void
buildPartialOneofs(ResourceLocator.Directive result)
ResourceLocator.Directive.Builder
clear()
ResourceLocator.Directive.Builder
clearAlt()
An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.Builder
clearDirective()
ResourceLocator.Directive.Builder
clearEntry()
List collections support inlining of resources via the entry field in Resource.ResourceLocator
getAlt()
An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Builder
getAltBuilder()
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.ResourceLocatorOrBuilder
getAltOrBuilder()
An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
com.google.protobuf.Descriptors.Descriptor
getDescriptorForType()
ResourceLocator.Directive.DirectiveCase
getDirectiveCase()
java.lang.String
getEntry()
List collections support inlining of resources via the entry field in Resource.com.google.protobuf.ByteString
getEntryBytes()
List collections support inlining of resources via the entry field in Resource.boolean
hasAlt()
An alternative resource locator for fallback if the resource is unavailable.boolean
hasEntry()
List collections support inlining of resources via the entry field in Resource.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
ResourceLocator.Directive.Builder
mergeAlt(ResourceLocator value)
An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.Builder
mergeFrom(ResourceLocator.Directive other)
ResourceLocator.Directive.Builder
mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
ResourceLocator.Directive.Builder
mergeFrom(com.google.protobuf.Message other)
ResourceLocator.Directive.Builder
setAlt(ResourceLocator value)
An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.Builder
setAlt(ResourceLocator.Builder builderForValue)
An alternative resource locator for fallback if the resource is unavailable.ResourceLocator.Directive.Builder
setEntry(java.lang.String value)
List collections support inlining of resources via the entry field in Resource.ResourceLocator.Directive.Builder
setEntryBytes(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:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage.Builder<ResourceLocator.Directive.Builder>
-
clear
public ResourceLocator.Directive.Builder clear()
- Specified by:
clear
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clear
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clear
in classcom.google.protobuf.GeneratedMessage.Builder<ResourceLocator.Directive.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.Message.Builder
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.MessageOrBuilder
- Overrides:
getDescriptorForType
in classcom.google.protobuf.GeneratedMessage.Builder<ResourceLocator.Directive.Builder>
-
getDefaultInstanceForType
public ResourceLocator.Directive getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
build
public ResourceLocator.Directive build()
- Specified by:
build
in interfacecom.google.protobuf.Message.Builder
- Specified by:
build
in interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public ResourceLocator.Directive buildPartial()
- Specified by:
buildPartial
in interfacecom.google.protobuf.Message.Builder
- Specified by:
buildPartial
in 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:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<ResourceLocator.Directive.Builder>
-
mergeFrom
public ResourceLocator.Directive.Builder mergeFrom(ResourceLocator.Directive other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in 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:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Specified by:
mergeFrom
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
mergeFrom
in classcom.google.protobuf.AbstractMessage.Builder<ResourceLocator.Directive.Builder>
- Throws:
java.io.IOException
-
getDirectiveCase
public ResourceLocator.Directive.DirectiveCase getDirectiveCase()
- Specified by:
getDirectiveCase
in 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:
hasAlt
in 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:
getAlt
in 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:
getAltOrBuilder
in 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:
hasEntry
in 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:
getEntry
in 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:
getEntryBytes
in 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.
-
-