Class Mixin

  • All Implemented Interfaces:
    MessageLite, MessageLiteOrBuilder, MixinOrBuilder

    public final class Mixin
    extends GeneratedMessageLite<Mixin,​Mixin.Builder>
    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 inherting
     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
    • Field Detail

      • name_

        private java.lang.String name_
      • root_

        private java.lang.String root_
      • DEFAULT_INSTANCE

        private static final Mixin DEFAULT_INSTANCE
    • Constructor Detail

      • Mixin

        private Mixin()
    • Method Detail

      • 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.
      • setName

        private void setName​(java.lang.String value)
         The fully qualified name of the interface which is included.
         
        string name = 1;
        Parameters:
        value - The name to set.
      • clearName

        private void clearName()
         The fully qualified name of the interface which is included.
         
        string name = 1;
      • setNameBytes

        private void setNameBytes​(ByteString value)
         The fully qualified name of the interface which is included.
         
        string name = 1;
        Parameters:
        value - The bytes for name to set.
      • 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.
      • setRoot

        private void setRoot​(java.lang.String value)
         If non-empty specifies a path under which inherited HTTP paths
         are rooted.
         
        string root = 2;
        Parameters:
        value - The root to set.
      • clearRoot

        private void clearRoot()
         If non-empty specifies a path under which inherited HTTP paths
         are rooted.
         
        string root = 2;
      • setRootBytes

        private void setRootBytes​(ByteString value)
         If non-empty specifies a path under which inherited HTTP paths
         are rooted.
         
        string root = 2;
        Parameters:
        value - The bytes for root to set.
      • 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
      • dynamicMethod

        protected final java.lang.Object dynamicMethod​(GeneratedMessageLite.MethodToInvoke method,
                                                       java.lang.Object arg0,
                                                       java.lang.Object arg1)
        Description copied from class: GeneratedMessageLite
        A method that implements different types of operations described in GeneratedMessageLite.MethodToInvoke. These different kinds of operations are required to implement message-level operations for builders in the runtime. This method bundles those operations to reduce the generated methods count.
        • NEW_INSTANCE returns a new instance of the protocol buffer that has not yet been made immutable. See MAKE_IMMUTABLE.
        • IS_INITIALIZED returns null for false and the default instance for true. It doesn't use or modify any memoized value.
        • GET_MEMOIZED_IS_INITIALIZED returns the memoized isInitialized byte value.
        • SET_MEMOIZED_IS_INITIALIZED sets the memoized isInitialized byte value to 1 if the first parameter is not null, or to 0 if the first parameter is null.
        • NEW_BUILDER returns a BuilderType instance.
        This method, plus the implementation of the Builder, enables the Builder class to be proguarded away entirely on Android.

        For use by generated code only.

        Specified by:
        dynamicMethod in class GeneratedMessageLite<Mixin,​Mixin.Builder>
      • getDefaultInstance

        public static Mixin getDefaultInstance()