com.google.protobuf

Class Mixin

  • All Implemented Interfaces:
    Message , MessageLite , MessageLiteOrBuilder , MessageOrBuilder , MixinOrBuilder , java.io.Serializable


    public final class Mixin 
    extends com.google.protobuf.GeneratedMessageV3
    implements MixinOrBuilder 
    
    Declares an API Interface to be included in this interface. The including
     interface must redeclare all the methods from the included interface, but
     documentation and options are inherited as follows:
     - If after comment and whitespace stripping, the documentation
       string of the redeclared method is empty, it will be inherited
       from the original method.
     - Each annotation belonging to the service config (http,
       visibility) which is not set in the redeclared method will be
       inherited.
     - If an http annotation is inherited, the path pattern will be
       modified as follows. Any version prefix will be replaced by the
       version of the including interface plus the [root][] path if
       specified.
     Example of a simple mixin:
         package google.acl.v1;
         service AccessControl {
           // Get the underlying ACL object.
           rpc GetAcl(GetAclRequest) returns (Acl) {
             option (google.api.http).get = "/v1/{resource=**}:getAcl";
           }
         }
         package google.storage.v2;
         service Storage {
           rpc GetAcl(GetAclRequest) returns (Acl);
           // Get a data record.
           rpc GetData(GetDataRequest) returns (Data) {
             option (google.api.http).get = "/v2/{resource=**}";
           }
         }
     Example of a mixin configuration:
         apis:
         - name: google.storage.v2.Storage
           mixins:
           - name: google.acl.v1.AccessControl
     The mixin construct implies that all methods in `AccessControl` are
     also declared with same name and request/response types in
     `Storage`. A documentation generator or annotation processor will
     see the effective `Storage.GetAcl` method after inheriting
     documentation and annotations as follows:
         service Storage {
           // Get the underlying ACL object.
           rpc GetAcl(GetAclRequest) returns (Acl) {
             option (google.api.http).get = "/v2/{resource=**}:getAcl";
           }
           ...
         }
     Note how the version in the path pattern changed from `v1` to `v2`.
     If the `root` field in the mixin is specified, it should be a
     relative path under which inherited HTTP paths are placed. Example:
         apis:
         - name: google.storage.v2.Storage
           mixins:
           - name: google.acl.v1.AccessControl
             root: acls
     This implies the following inherited HTTP annotation:
         service Storage {
           // Get the underlying ACL object.
           rpc GetAcl(GetAclRequest) returns (Acl) {
             option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
           }
           ...
         }
    Protobuf type google.protobuf.Mixin
    See Also:
    Serialized Form
    • Method Detail

      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Description copied from interface:  MessageOrBuilder
        Get the UnknownFieldSet for this message.
        Specified by:
        getUnknownFields  in interface  MessageOrBuilder
        Overrides:
        getUnknownFields  in class  com.google.protobuf.GeneratedMessageV3
      • getName

        public java.lang.String getName()
        The fully qualified name of the interface which is included.
        string name = 1;
        Specified by:
        getName  in interface  MixinOrBuilder
        Returns:
        The name.
      • getNameBytes

        public  ByteString 
         getNameBytes()
        The fully qualified name of the interface which is included.
        string name = 1;
        Specified by:
        getNameBytes  in interface  MixinOrBuilder
        Returns:
        The bytes for name.
      • getRoot

        public java.lang.String getRoot()
        If non-empty specifies a path under which inherited HTTP paths
         are rooted.
        string root = 2;
        Specified by:
        getRoot  in interface  MixinOrBuilder
        Returns:
        The root.
      • getRootBytes

        public  ByteString 
         getRootBytes()
        If non-empty specifies a path under which inherited HTTP paths
         are rooted.
        string root = 2;
        Specified by:
        getRootBytes  in interface  MixinOrBuilder
        Returns:
        The bytes for root.
      • writeTo

        public void writeTo( CodedOutputStream 
         output)
                     throws java.io.IOException
        Description copied from interface:  MessageLite
        Serializes the message and writes it to output . This does not flush or close the stream.
        Specified by:
        writeTo  in interface  MessageLite
        Overrides:
        writeTo  in class  com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Description copied from interface:  MessageLite
        Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that.
        Specified by:
        getSerializedSize  in interface  MessageLite
        Overrides:
        getSerializedSize  in class  com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(java.lang.Object obj)
        Description copied from interface:  Message
        Compares the specified object with this message for equality. Returns true if the given object is a message of the same type (as defined by getDescriptorForType() ) and has identical values for all of its fields. Subclasses must implement this; inheriting Object.equals() is incorrect.
        Specified by:
        equals  in interface  Message
        Overrides:
        equals  in class  AbstractMessage
        Parameters:
        obj - object to be compared for equality with this message
        Returns:
        true if the specified object is equal to this message
      • hashCode

        public int hashCode()
        Description copied from interface:  Message
        Returns the hash code value for this message. The hash code of a message should mix the message's type (object identity of the descriptor) with its contents (known and unknown field values). Subclasses must implement this; inheriting Object.hashCode() is incorrect.
        Specified by:
        hashCode  in interface  Message
        Overrides:
        hashCode  in class  AbstractMessage
        Returns:
        the hash code value for this message
        See Also:
        Map.hashCode()
      • parseFrom

        public static  Mixin 
         parseFrom(java.io.InputStream input)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static  Mixin 
         parseFrom(java.io.InputStream input, ExtensionRegistryLite 
         extensionRegistry)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static  Mixin 
         parseDelimitedFrom(java.io.InputStream input)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static  Mixin 
         parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite 
         extensionRegistry)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static  Mixin 
         parseFrom( CodedInputStream 
         input)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • toBuilder

        public  Mixin.Builder 
         toBuilder()
        Description copied from interface:  MessageLite
        Constructs a builder initialized with the current message. Use this to derive a new message from the current one.
        Specified by:
        toBuilder  in interface  Message
        Specified by:
        toBuilder  in interface  MessageLite
      • getDefaultInstance

        public static  Mixin 
         getDefaultInstance()
      • getParserForType

        public  Parser 
        < Mixin 
        > getParserForType()
        Description copied from interface:  MessageLite
        Gets the parser for a message of the same type as this message.
        Specified by:
        getParserForType  in interface  Message
        Specified by:
        getParserForType  in interface  MessageLite
        Overrides:
        getParserForType  in class  com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public  Mixin 
         getDefaultInstanceForType()
        Description copied from interface:  MessageLiteOrBuilder
        Get an instance of the type with no fields set. Because no fields are set, all getters for singular fields will return default values and repeated fields will appear empty. This may or may not be a singleton. This differs from the getDefaultInstance() method of generated message classes in that this method is an abstract method of the MessageLite interface whereas getDefaultInstance() is a static method of a specific class. They return the same thing.
        Specified by:
        getDefaultInstanceForType  in interface  MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType  in interface  MessageOrBuilder
Design a Mobile Site
View Site in Mobile | Classic
Share by: