T - the type of message being extendedE - the (boxed) Java data type of the extension valuepublic final class Extension<T extends ExtendableMessage<?>,E> extends Object implements Comparable<Extension<?,?>>
MenuItem message: extend MenuItem {
optional int32 calorie_count = 10001;
optional int32 fat_grams = 10002;
}
An extension instance is a key; it names the attribute. Use it to set a value on a message's builder, or to get the value on a message.
MenuItem sandwich = new MenuItem.Builder()
.setBread(Bread.SOURDOUGH)
.setExtension(Ext_nutrition.calorie_count, 300)
.setExtension(Ext_nutrition.fat_grams, 6)
.build();
int calorieCount = sandwich.getExtension(Ext_nutrition.calorie_count));
int fatGrams = sandwich.getExtension(Ext_nutrition.fat_grams));
Application code shouldn't create extension instances directly; instead
they should use the generated instances created with Ext_ prefixes.
To serialize and deserialize extensions, specify all of your Ext_
classes when creating a Wire instance.
| Modifier and Type | Class and Description |
|---|---|
static class |
Extension.Builder<T extends ExtendableMessage<?>,E> |
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Integer> int32Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Integer> sint32Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Integer> uint32Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Integer> fixed32Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Integer> sfixed32Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Long> int64Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Long> sint64Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Long> uint64Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Long> fixed64Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Long> sfixed64Extending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Boolean> boolExtending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,String> stringExtending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,ByteString> bytesExtending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Float> floatExtending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>> Extension.Builder<T,Double> doubleExtending(Class<T> extendedType)
public static <T extends ExtendableMessage<?>,E extends Enum> Extension.Builder<T,E> enumExtending(Class<E> enumType, Class<T> extendedType)
public static <T extends ExtendableMessage<?>,M extends Message> Extension.Builder<T,M> messageExtending(Class<M> messageType, Class<T> extendedType)
public int compareTo(Extension<?,?> o)
compareTo in interface Comparable<Extension<?,?>>public String getName()
public int getTag()
public Message.Datatype getDatatype()
public Message.Label getLabel()
Copyright © 2013 Square, Inc.. All Rights Reserved.