Class Visibility (2.10.0)

public sealed class Visibility : IMessage<Visibility>, IEquatable<Visibility>, IDeepCloneable<Visibility>, IBufferMessage, IMessage

Visibility restricts service consumer's access to service elements, such as whether an application can call a visibility-restricted method. The restriction is expressed by applying visibility labels on service elements. The visibility labels are elsewhere linked to service consumers.

A service can define multiple visibility labels, but a service consumer should be granted at most one visibility label. Multiple visibility labels for a single service consumer are not supported.

If an element and all its parents have no visibility label, its visibility is unconditionally granted.

Example:

visibility:
  rules:
  - selector: google.calendar.Calendar.EnhancedSearch
    restriction: PREVIEW
  - selector: google.calendar.Calendar.Delegate
    restriction: INTERNAL

Here, all methods are publicly visible except for the restricted methods EnhancedSearch and Delegate.

Inheritance

object > Visibility

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

Visibility()

public Visibility()

Visibility(Visibility)

public Visibility(Visibility other)
Parameter
NameDescription
otherVisibility

Fields

RulesFieldNumber

public const int RulesFieldNumber = 1

Field number for the "rules" field.

Field Value
TypeDescription
int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
MessageDescriptor

Parser

public static MessageParser<Visibility> Parser { get; }
Property Value
TypeDescription
MessageParserVisibility

Rules

public RepeatedField<VisibilityRule> Rules { get; }

A list of visibility rules that apply to individual API elements.

NOTE: All service configuration rules follow "last one wins" order.

Property Value
TypeDescription
RepeatedFieldVisibilityRule

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
int

Clone()

public Visibility Clone()
Returns
TypeDescription
Visibility

Equals(Visibility)

public bool Equals(Visibility other)
Parameter
NameDescription
otherVisibility
Returns
TypeDescription
bool

Equals(object)

public override bool Equals(object other)
Parameter
NameDescription
otherobject
Returns
TypeDescription
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
int
Overrides

MergeFrom(Visibility)

public void MergeFrom(Visibility other)
Parameter
NameDescription
otherVisibility

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
NameDescription
inputCodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
NameDescription
outputCodedOutputStream