auto import from //depot/cupcake/@137055

parent 52067f67
...@@ -144,6 +144,28 @@ public class ProtoBuf { ...@@ -144,6 +144,28 @@ public class ProtoBuf {
insertProtoBuf(tag, getCount(tag), value); insertProtoBuf(tag, getCount(tag), value);
} }
/**
* Adds a new protobuf for the specified tag, setting the child protobuf's
* type correctly for the tag.
* @param tag the tag for which to create a new protobuf
* @return the newly created protobuf
*/
public ProtoBuf addNewProtoBuf(int tag) {
ProtoBuf child = newProtoBufForTag(tag);
addProtoBuf(tag, child);
return child;
}
/**
* Creates and returns a new protobuf for the specified tag, setting the new
* protobuf's type correctly for the tag.
* @param tag the tag for which to create a new protobuf
* @return the newly created protobuf
*/
public ProtoBuf newProtoBufForTag(int tag) {
return new ProtoBuf((ProtoBufType) msgType.getData(tag));
}
/** /**
* Appends the given (repeated) tag with the given String value. * Appends the given (repeated) tag with the given String value.
*/ */
...@@ -181,7 +203,7 @@ public class ProtoBuf { ...@@ -181,7 +203,7 @@ public class ProtoBuf {
return (byte[]) getObject(tag, index, ProtoBufType.TYPE_DATA); return (byte[]) getObject(tag, index, ProtoBufType.TYPE_DATA);
} }
/** /**
* Returns the integer value for the given tag. * Returns the integer value for the given tag.
*/ */
public int getInt(int tag) { public int getInt(int tag) {
...@@ -196,7 +218,7 @@ public class ProtoBuf { ...@@ -196,7 +218,7 @@ public class ProtoBuf {
ProtoBufType.TYPE_INT32)).longValue(); ProtoBufType.TYPE_INT32)).longValue();
} }
/** /**
* Returns the long value for the given tag. * Returns the long value for the given tag.
*/ */
public long getLong(int tag) { public long getLong(int tag) {
...@@ -238,7 +260,7 @@ public class ProtoBuf { ...@@ -238,7 +260,7 @@ public class ProtoBuf {
return Double.longBitsToDouble(getLong(tag, index)); return Double.longBitsToDouble(getLong(tag, index));
} }
/** /**
* Returns the group or nested message for the given tag. * Returns the group or nested message for the given tag.
*/ */
public ProtoBuf getProtoBuf(int tag) { public ProtoBuf getProtoBuf(int tag) {
...@@ -269,7 +291,7 @@ public class ProtoBuf { ...@@ -269,7 +291,7 @@ public class ProtoBuf {
return (String) getObject(tag, index, ProtoBufType.TYPE_TEXT); return (String) getObject(tag, index, ProtoBufType.TYPE_TEXT);
} }
/** /**
* Returns the type definition of this protocol buffer or group -- if set. * Returns the type definition of this protocol buffer or group -- if set.
*/ */
public ProtoBufType getType() { public ProtoBufType getType() {
...@@ -729,6 +751,18 @@ public class ProtoBuf { ...@@ -729,6 +751,18 @@ public class ProtoBuf {
setObject(tag, pb); setObject(tag, pb);
} }
/**
* Sets a new protobuf for the specified tag, setting the child protobuf's
* type correctly for the tag.
* @param tag the tag for which to create a new protobuf
* @return the newly created protobuf
*/
public ProtoBuf setNewProtoBuf(int tag) {
ProtoBuf child = newProtoBufForTag(tag);
setProtoBuf(tag, child);
return child;
}
/** /**
* Sets the given tag to the given String value. * Sets the given tag to the given String value.
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment