Class Visibility (2.15.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
Name Description
other Visibility

Fields

RulesFieldNumber

public const int RulesFieldNumber = 1

Field number for the "rules" field.

Field Value
Type Description
int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

Parser

public static MessageParser<Visibility> Parser { get; }
Property Value
Type Description
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
Type Description
RepeatedFieldVisibilityRule

Methods

CalculateSize()

public int CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type Description
int

The number of bytes required to write this message to a coded output stream.

Clone()

public Visibility Clone()

Creates a deep clone of this object.

Returns
Type Description
Visibility

A deep clone of this object.

Equals(Visibility)

public bool Equals(Visibility other)
Parameter
Name Description
other Visibility
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(Visibility)

public void MergeFrom(Visibility other)

Merges the given message into this one.

Parameter
Name Description
other Visibility
Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
Name Description
input CodedInputStream
Remarks

See the user guide for precise merge semantics.

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
Name Description
output CodedOutputStream

Coded output stream to write the data to. Must not be null.