Class Generated.RawExtension.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable, Generated.RawExtensionOrBuilder
    Enclosing class:
    Generated.RawExtension

    public static final class Generated.RawExtension.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
    implements Generated.RawExtensionOrBuilder
     RawExtension is used to hold extensions in external versions.
    
     To use this, make a field which has RawExtension as its type in your external, versioned
     struct, and Object in your internal struct. You also need to register your
     various plugin types.
    
     // Internal package:
    
            type MyAPIObject struct {
                    runtime.TypeMeta `json:",inline"`
                    MyPlugin runtime.Object `json:"myPlugin"`
            }
    
            type PluginA struct {
                    AOption string `json:"aOption"`
            }
    
     // External package:
    
            type MyAPIObject struct {
                    runtime.TypeMeta `json:",inline"`
                    MyPlugin runtime.RawExtension `json:"myPlugin"`
            }
    
            type PluginA struct {
                    AOption string `json:"aOption"`
            }
    
     // On the wire, the JSON will look something like this:
    
            {
                    "kind":"MyAPIObject",
                    "apiVersion":"v1",
                    "myPlugin": {
                            "kind":"PluginA",
                            "aOption":"foo",
                    },
            }
    
     So what happens? Decode first uses json or yaml to unmarshal the serialized data into
     your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked.
     The next step is to copy (using pkg/conversion) into the internal struct. The runtime
     package's DefaultScheme has conversion functions installed which will unpack the
     JSON stored in RawExtension, turning it into the correct object type, and storing it
     in the Object. (TODO: In the case where the object is of an unknown type, a
     runtime.Unknown object will be created and stored.)
    
     +k8s:deepcopy-gen=true
     +protobuf=true
     +k8s:openapi-gen=true
     
    Protobuf type k8s.io.apimachinery.pkg.runtime.RawExtension
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • clear

        public Generated.RawExtension.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • getDefaultInstanceForType

        public Generated.RawExtension getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public Generated.RawExtension build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public Generated.RawExtension buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public Generated.RawExtension.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • clearField

        public Generated.RawExtension.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • clearOneof

        public Generated.RawExtension.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • setRepeatedField

        public Generated.RawExtension.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                               int index,
                                                               Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • addRepeatedField

        public Generated.RawExtension.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                               Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • mergeFrom

        public Generated.RawExtension.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                 throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Generated.RawExtension.Builder>
        Throws:
        IOException
      • hasRaw

        public boolean hasRaw()
         Raw is the underlying serialization of this object.
        
         TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.
         
        optional bytes raw = 1;
        Specified by:
        hasRaw in interface Generated.RawExtensionOrBuilder
        Returns:
        Whether the raw field is set.
      • getRaw

        public com.google.protobuf.ByteString getRaw()
         Raw is the underlying serialization of this object.
        
         TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.
         
        optional bytes raw = 1;
        Specified by:
        getRaw in interface Generated.RawExtensionOrBuilder
        Returns:
        The raw.
      • setRaw

        public Generated.RawExtension.Builder setRaw​(com.google.protobuf.ByteString value)
         Raw is the underlying serialization of this object.
        
         TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.
         
        optional bytes raw = 1;
        Parameters:
        value - The raw to set.
        Returns:
        This builder for chaining.
      • clearRaw

        public Generated.RawExtension.Builder clearRaw()
         Raw is the underlying serialization of this object.
        
         TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.
         
        optional bytes raw = 1;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final Generated.RawExtension.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>
      • mergeUnknownFields

        public final Generated.RawExtension.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.RawExtension.Builder>