title: How to handle the generic type Object with protocol buffers, in the .proto file?
body: <p>I've spent some time looking for some alternative to handle generic objects, I've seen questions similar to mine, but not as specific I suppose?
  Protocol buffers has multiple scalar types that I can use, however they are mostly primitive.
  I want my message to be flexible and be able to have a field that is a List of some sort.</p>
  
  <p>Let's say my .proto file looked like this:</p>
  
  <pre><code>   message SomeMessage
     {
        string datetime = 1;
        message inputData // This would be a list
        {
           repeated Object object = 1;
        }
        message Object 
        {
            ? // this need to be of a generic type - This is my question
            // My work around - Using extentions with some Object
            //List all primitive scalar types as optional and create an extension 100 to    max;
        }
        message someObject //some random entity - for example, employee/company etc.
        {  
            optional string name = 1; optional int32 id = 2;
        }
        extend Object 
        {
            optional someObject obj = 101;
        }
    } 
  </code></pre>
  
  <p>And this would be fine, and would work, and I'd have a List where Objects could be of any primitive type or could be List &lt; someObject >.
  However- The problem here, is that any time I needed to handle a new type of object, I'd need to edit my .proto file, recompile for C# and java (The languages I need it for)...</p>
  
  <p>If protocol buffers is not able to handle generic object types, is there another alternative that can?
  Any help on this matter is greatly appreciated.</p>