Class PluginProtos.CodeGeneratorResponse.File.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<MessageType,BuilderType>
com.google.protobuf.GeneratedMessageLite.Builder<PluginProtos.CodeGeneratorResponse.File,PluginProtos.CodeGeneratorResponse.File.Builder>
com.google.protobuf.compiler.PluginProtos.CodeGeneratorResponse.File.Builder
All Implemented Interfaces:
PluginProtos.CodeGeneratorResponse.FileOrBuilder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, Cloneable
Enclosing class:
PluginProtos.CodeGeneratorResponse.File

public static final class PluginProtos.CodeGeneratorResponse.File.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<PluginProtos.CodeGeneratorResponse.File,PluginProtos.CodeGeneratorResponse.File.Builder> implements PluginProtos.CodeGeneratorResponse.FileOrBuilder
 Represents a single generated file.
 
Protobuf type google.protobuf.compiler.CodeGeneratorResponse.File
  • Method Details

    • hasName

      public boolean hasName()
       The file name, relative to the output directory.  The name must not
       contain "." or ".." components and must be relative, not be absolute (so,
       the file cannot lie outside the output directory).  "/" must be used as
       the path separator, not "\".
      
       If the name is omitted, the content will be appended to the previous
       file.  This allows the generator to break large files into small chunks,
       and allows the generated text to be streamed back to protoc so that large
       files need not reside completely in memory at one time.  Note that as of
       this writing protoc does not optimize for this -- it will read the entire
       CodeGeneratorResponse before writing files to disk.
       
      optional string name = 1 [json_name = "name"];
      Specified by:
      hasName in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      Whether the name field is set.
    • getName

      public String getName()
       The file name, relative to the output directory.  The name must not
       contain "." or ".." components and must be relative, not be absolute (so,
       the file cannot lie outside the output directory).  "/" must be used as
       the path separator, not "\".
      
       If the name is omitted, the content will be appended to the previous
       file.  This allows the generator to break large files into small chunks,
       and allows the generated text to be streamed back to protoc so that large
       files need not reside completely in memory at one time.  Note that as of
       this writing protoc does not optimize for this -- it will read the entire
       CodeGeneratorResponse before writing files to disk.
       
      optional string name = 1 [json_name = "name"];
      Specified by:
      getName in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The file name, relative to the output directory.  The name must not
       contain "." or ".." components and must be relative, not be absolute (so,
       the file cannot lie outside the output directory).  "/" must be used as
       the path separator, not "\".
      
       If the name is omitted, the content will be appended to the previous
       file.  This allows the generator to break large files into small chunks,
       and allows the generated text to be streamed back to protoc so that large
       files need not reside completely in memory at one time.  Note that as of
       this writing protoc does not optimize for this -- it will read the entire
       CodeGeneratorResponse before writing files to disk.
       
      optional string name = 1 [json_name = "name"];
      Specified by:
      getNameBytes in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The bytes for name.
    • setName

       The file name, relative to the output directory.  The name must not
       contain "." or ".." components and must be relative, not be absolute (so,
       the file cannot lie outside the output directory).  "/" must be used as
       the path separator, not "\".
      
       If the name is omitted, the content will be appended to the previous
       file.  This allows the generator to break large files into small chunks,
       and allows the generated text to be streamed back to protoc so that large
       files need not reside completely in memory at one time.  Note that as of
       this writing protoc does not optimize for this -- it will read the entire
       CodeGeneratorResponse before writing files to disk.
       
      optional string name = 1 [json_name = "name"];
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

       The file name, relative to the output directory.  The name must not
       contain "." or ".." components and must be relative, not be absolute (so,
       the file cannot lie outside the output directory).  "/" must be used as
       the path separator, not "\".
      
       If the name is omitted, the content will be appended to the previous
       file.  This allows the generator to break large files into small chunks,
       and allows the generated text to be streamed back to protoc so that large
       files need not reside completely in memory at one time.  Note that as of
       this writing protoc does not optimize for this -- it will read the entire
       CodeGeneratorResponse before writing files to disk.
       
      optional string name = 1 [json_name = "name"];
      Returns:
      This builder for chaining.
    • setNameBytes

      public PluginProtos.CodeGeneratorResponse.File.Builder setNameBytes(com.google.protobuf.ByteString value)
       The file name, relative to the output directory.  The name must not
       contain "." or ".." components and must be relative, not be absolute (so,
       the file cannot lie outside the output directory).  "/" must be used as
       the path separator, not "\".
      
       If the name is omitted, the content will be appended to the previous
       file.  This allows the generator to break large files into small chunks,
       and allows the generated text to be streamed back to protoc so that large
       files need not reside completely in memory at one time.  Note that as of
       this writing protoc does not optimize for this -- it will read the entire
       CodeGeneratorResponse before writing files to disk.
       
      optional string name = 1 [json_name = "name"];
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • hasInsertionPoint

      public boolean hasInsertionPoint()
       If non-empty, indicates that the named file should already exist, and the
       content here is to be inserted into that file at a defined insertion
       point.  This feature allows a code generator to extend the output
       produced by another code generator.  The original generator may provide
       insertion points by placing special annotations in the file that look
       like:
         @@protoc_insertion_point(NAME)
       The annotation can have arbitrary text before and after it on the line,
       which allows it to be placed in a comment.  NAME should be replaced with
       an identifier naming the point -- this is what other generators will use
       as the insertion_point.  Code inserted at this point will be placed
       immediately above the line containing the insertion point (thus multiple
       insertions to the same point will come out in the order they were added).
       The double-@ is intended to make it unlikely that the generated code
       could contain things that look like insertion points by accident.
      
       For example, the C++ code generator places the following line in the
       .pb.h files that it generates:
         // @@protoc_insertion_point(namespace_scope)
       This line appears within the scope of the file's package namespace, but
       outside of any particular class.  Another plugin can then specify the
       insertion_point "namespace_scope" to generate additional classes or
       other declarations that should be placed in this scope.
      
       Note that if the line containing the insertion point begins with
       whitespace, the same whitespace will be added to every line of the
       inserted text.  This is useful for languages like Python, where
       indentation matters.  In these languages, the insertion point comment
       should be indented the same amount as any inserted code will need to be
       in order to work correctly in that context.
      
       The code generator that generates the initial file and the one which
       inserts into it must both run as part of a single invocation of protoc.
       Code generators are executed in the order in which they appear on the
       command line.
      
       If |insertion_point| is present, |name| must also be present.
       
      optional string insertion_point = 2 [json_name = "insertionPoint"];
      Specified by:
      hasInsertionPoint in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      Whether the insertionPoint field is set.
    • getInsertionPoint

      public String getInsertionPoint()
       If non-empty, indicates that the named file should already exist, and the
       content here is to be inserted into that file at a defined insertion
       point.  This feature allows a code generator to extend the output
       produced by another code generator.  The original generator may provide
       insertion points by placing special annotations in the file that look
       like:
         @@protoc_insertion_point(NAME)
       The annotation can have arbitrary text before and after it on the line,
       which allows it to be placed in a comment.  NAME should be replaced with
       an identifier naming the point -- this is what other generators will use
       as the insertion_point.  Code inserted at this point will be placed
       immediately above the line containing the insertion point (thus multiple
       insertions to the same point will come out in the order they were added).
       The double-@ is intended to make it unlikely that the generated code
       could contain things that look like insertion points by accident.
      
       For example, the C++ code generator places the following line in the
       .pb.h files that it generates:
         // @@protoc_insertion_point(namespace_scope)
       This line appears within the scope of the file's package namespace, but
       outside of any particular class.  Another plugin can then specify the
       insertion_point "namespace_scope" to generate additional classes or
       other declarations that should be placed in this scope.
      
       Note that if the line containing the insertion point begins with
       whitespace, the same whitespace will be added to every line of the
       inserted text.  This is useful for languages like Python, where
       indentation matters.  In these languages, the insertion point comment
       should be indented the same amount as any inserted code will need to be
       in order to work correctly in that context.
      
       The code generator that generates the initial file and the one which
       inserts into it must both run as part of a single invocation of protoc.
       Code generators are executed in the order in which they appear on the
       command line.
      
       If |insertion_point| is present, |name| must also be present.
       
      optional string insertion_point = 2 [json_name = "insertionPoint"];
      Specified by:
      getInsertionPoint in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The insertionPoint.
    • getInsertionPointBytes

      public com.google.protobuf.ByteString getInsertionPointBytes()
       If non-empty, indicates that the named file should already exist, and the
       content here is to be inserted into that file at a defined insertion
       point.  This feature allows a code generator to extend the output
       produced by another code generator.  The original generator may provide
       insertion points by placing special annotations in the file that look
       like:
         @@protoc_insertion_point(NAME)
       The annotation can have arbitrary text before and after it on the line,
       which allows it to be placed in a comment.  NAME should be replaced with
       an identifier naming the point -- this is what other generators will use
       as the insertion_point.  Code inserted at this point will be placed
       immediately above the line containing the insertion point (thus multiple
       insertions to the same point will come out in the order they were added).
       The double-@ is intended to make it unlikely that the generated code
       could contain things that look like insertion points by accident.
      
       For example, the C++ code generator places the following line in the
       .pb.h files that it generates:
         // @@protoc_insertion_point(namespace_scope)
       This line appears within the scope of the file's package namespace, but
       outside of any particular class.  Another plugin can then specify the
       insertion_point "namespace_scope" to generate additional classes or
       other declarations that should be placed in this scope.
      
       Note that if the line containing the insertion point begins with
       whitespace, the same whitespace will be added to every line of the
       inserted text.  This is useful for languages like Python, where
       indentation matters.  In these languages, the insertion point comment
       should be indented the same amount as any inserted code will need to be
       in order to work correctly in that context.
      
       The code generator that generates the initial file and the one which
       inserts into it must both run as part of a single invocation of protoc.
       Code generators are executed in the order in which they appear on the
       command line.
      
       If |insertion_point| is present, |name| must also be present.
       
      optional string insertion_point = 2 [json_name = "insertionPoint"];
      Specified by:
      getInsertionPointBytes in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The bytes for insertionPoint.
    • setInsertionPoint

      public PluginProtos.CodeGeneratorResponse.File.Builder setInsertionPoint(String value)
       If non-empty, indicates that the named file should already exist, and the
       content here is to be inserted into that file at a defined insertion
       point.  This feature allows a code generator to extend the output
       produced by another code generator.  The original generator may provide
       insertion points by placing special annotations in the file that look
       like:
         @@protoc_insertion_point(NAME)
       The annotation can have arbitrary text before and after it on the line,
       which allows it to be placed in a comment.  NAME should be replaced with
       an identifier naming the point -- this is what other generators will use
       as the insertion_point.  Code inserted at this point will be placed
       immediately above the line containing the insertion point (thus multiple
       insertions to the same point will come out in the order they were added).
       The double-@ is intended to make it unlikely that the generated code
       could contain things that look like insertion points by accident.
      
       For example, the C++ code generator places the following line in the
       .pb.h files that it generates:
         // @@protoc_insertion_point(namespace_scope)
       This line appears within the scope of the file's package namespace, but
       outside of any particular class.  Another plugin can then specify the
       insertion_point "namespace_scope" to generate additional classes or
       other declarations that should be placed in this scope.
      
       Note that if the line containing the insertion point begins with
       whitespace, the same whitespace will be added to every line of the
       inserted text.  This is useful for languages like Python, where
       indentation matters.  In these languages, the insertion point comment
       should be indented the same amount as any inserted code will need to be
       in order to work correctly in that context.
      
       The code generator that generates the initial file and the one which
       inserts into it must both run as part of a single invocation of protoc.
       Code generators are executed in the order in which they appear on the
       command line.
      
       If |insertion_point| is present, |name| must also be present.
       
      optional string insertion_point = 2 [json_name = "insertionPoint"];
      Parameters:
      value - The insertionPoint to set.
      Returns:
      This builder for chaining.
    • clearInsertionPoint

       If non-empty, indicates that the named file should already exist, and the
       content here is to be inserted into that file at a defined insertion
       point.  This feature allows a code generator to extend the output
       produced by another code generator.  The original generator may provide
       insertion points by placing special annotations in the file that look
       like:
         @@protoc_insertion_point(NAME)
       The annotation can have arbitrary text before and after it on the line,
       which allows it to be placed in a comment.  NAME should be replaced with
       an identifier naming the point -- this is what other generators will use
       as the insertion_point.  Code inserted at this point will be placed
       immediately above the line containing the insertion point (thus multiple
       insertions to the same point will come out in the order they were added).
       The double-@ is intended to make it unlikely that the generated code
       could contain things that look like insertion points by accident.
      
       For example, the C++ code generator places the following line in the
       .pb.h files that it generates:
         // @@protoc_insertion_point(namespace_scope)
       This line appears within the scope of the file's package namespace, but
       outside of any particular class.  Another plugin can then specify the
       insertion_point "namespace_scope" to generate additional classes or
       other declarations that should be placed in this scope.
      
       Note that if the line containing the insertion point begins with
       whitespace, the same whitespace will be added to every line of the
       inserted text.  This is useful for languages like Python, where
       indentation matters.  In these languages, the insertion point comment
       should be indented the same amount as any inserted code will need to be
       in order to work correctly in that context.
      
       The code generator that generates the initial file and the one which
       inserts into it must both run as part of a single invocation of protoc.
       Code generators are executed in the order in which they appear on the
       command line.
      
       If |insertion_point| is present, |name| must also be present.
       
      optional string insertion_point = 2 [json_name = "insertionPoint"];
      Returns:
      This builder for chaining.
    • setInsertionPointBytes

      public PluginProtos.CodeGeneratorResponse.File.Builder setInsertionPointBytes(com.google.protobuf.ByteString value)
       If non-empty, indicates that the named file should already exist, and the
       content here is to be inserted into that file at a defined insertion
       point.  This feature allows a code generator to extend the output
       produced by another code generator.  The original generator may provide
       insertion points by placing special annotations in the file that look
       like:
         @@protoc_insertion_point(NAME)
       The annotation can have arbitrary text before and after it on the line,
       which allows it to be placed in a comment.  NAME should be replaced with
       an identifier naming the point -- this is what other generators will use
       as the insertion_point.  Code inserted at this point will be placed
       immediately above the line containing the insertion point (thus multiple
       insertions to the same point will come out in the order they were added).
       The double-@ is intended to make it unlikely that the generated code
       could contain things that look like insertion points by accident.
      
       For example, the C++ code generator places the following line in the
       .pb.h files that it generates:
         // @@protoc_insertion_point(namespace_scope)
       This line appears within the scope of the file's package namespace, but
       outside of any particular class.  Another plugin can then specify the
       insertion_point "namespace_scope" to generate additional classes or
       other declarations that should be placed in this scope.
      
       Note that if the line containing the insertion point begins with
       whitespace, the same whitespace will be added to every line of the
       inserted text.  This is useful for languages like Python, where
       indentation matters.  In these languages, the insertion point comment
       should be indented the same amount as any inserted code will need to be
       in order to work correctly in that context.
      
       The code generator that generates the initial file and the one which
       inserts into it must both run as part of a single invocation of protoc.
       Code generators are executed in the order in which they appear on the
       command line.
      
       If |insertion_point| is present, |name| must also be present.
       
      optional string insertion_point = 2 [json_name = "insertionPoint"];
      Parameters:
      value - The bytes for insertionPoint to set.
      Returns:
      This builder for chaining.
    • hasContent

      public boolean hasContent()
       The file contents.
       
      optional string content = 15 [json_name = "content"];
      Specified by:
      hasContent in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      Whether the content field is set.
    • getContent

      public String getContent()
       The file contents.
       
      optional string content = 15 [json_name = "content"];
      Specified by:
      getContent in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The content.
    • getContentBytes

      public com.google.protobuf.ByteString getContentBytes()
       The file contents.
       
      optional string content = 15 [json_name = "content"];
      Specified by:
      getContentBytes in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The bytes for content.
    • setContent

       The file contents.
       
      optional string content = 15 [json_name = "content"];
      Parameters:
      value - The content to set.
      Returns:
      This builder for chaining.
    • clearContent

       The file contents.
       
      optional string content = 15 [json_name = "content"];
      Returns:
      This builder for chaining.
    • setContentBytes

      public PluginProtos.CodeGeneratorResponse.File.Builder setContentBytes(com.google.protobuf.ByteString value)
       The file contents.
       
      optional string content = 15 [json_name = "content"];
      Parameters:
      value - The bytes for content to set.
      Returns:
      This builder for chaining.
    • hasGeneratedCodeInfo

      public boolean hasGeneratedCodeInfo()
       Information describing the file content being inserted. If an insertion
       point is used, this information will be appropriately offset and inserted
       into the code generation metadata for the generated files.
       
      optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16 [json_name = "generatedCodeInfo"];
      Specified by:
      hasGeneratedCodeInfo in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      Whether the generatedCodeInfo field is set.
    • getGeneratedCodeInfo

      public DescriptorProtos.GeneratedCodeInfo getGeneratedCodeInfo()
       Information describing the file content being inserted. If an insertion
       point is used, this information will be appropriately offset and inserted
       into the code generation metadata for the generated files.
       
      optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16 [json_name = "generatedCodeInfo"];
      Specified by:
      getGeneratedCodeInfo in interface PluginProtos.CodeGeneratorResponse.FileOrBuilder
      Returns:
      The generatedCodeInfo.
    • setGeneratedCodeInfo

       Information describing the file content being inserted. If an insertion
       point is used, this information will be appropriately offset and inserted
       into the code generation metadata for the generated files.
       
      optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16 [json_name = "generatedCodeInfo"];
    • setGeneratedCodeInfo

       Information describing the file content being inserted. If an insertion
       point is used, this information will be appropriately offset and inserted
       into the code generation metadata for the generated files.
       
      optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16 [json_name = "generatedCodeInfo"];
    • mergeGeneratedCodeInfo

       Information describing the file content being inserted. If an insertion
       point is used, this information will be appropriately offset and inserted
       into the code generation metadata for the generated files.
       
      optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16 [json_name = "generatedCodeInfo"];
    • clearGeneratedCodeInfo

      public PluginProtos.CodeGeneratorResponse.File.Builder clearGeneratedCodeInfo()
       Information describing the file content being inserted. If an insertion
       point is used, this information will be appropriately offset and inserted
       into the code generation metadata for the generated files.
       
      optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16 [json_name = "generatedCodeInfo"];