# Google Data APIs Client Library (1.43.0)

## com.google.api.gbase.client
Class GoogleBaseAttributesExtension

    java.lang.Object
      com.google.api.gbase.client.GoogleBaseAttributesExtension

All Implemented Interfaces:
  Extension

    public class GoogleBaseAttributesExtension

extends java.lang.Object
implements Extension

Keeps track of attributes in the g: namespace. This class extends the Google data API with some knowledge about the g: (Google Base attributes) namespace. The attributes are stored in a list as `GoogleBaseAttribute`s Accessing GoogleBaseAttribute directly is possible, but usually not recommended. Many methods are available in this class that will perform the necessary type conversion from GoogleBaseAttribute to String, Integer, Float, and `DateTime`. Shortcuts exist for a few well-known attributes. You usually get such an object using `GoogleBaseEntry.getGoogleBaseAttributes()`. This class can be registered in an `ExtensionProfile` using `DESCRIPTION` and then accessed from an `ExtensionPoint` using `ExtensionPoint.getExtension(Class)`.

Field Summary
`static java.lang.String` `APPLICATION_ATTRIBUTE` Attribute `<g:application>`.
`static java.lang.String` `CUSTOMER_ID` Attribute `<g:customer_id>`.
`static java.lang.String` `DELIVERY_NOTES_ATTRIBUTE` Attribute `<g:delivery_notes>`.
`static java.lang.String` `DELIVERY_RADIUS_ATTRIBUTE` Attribute `<g:delivery_radius>`.
`static ExtensionDescription` `DESCRIPTION` A description for this extension, to pass to an `ExtensionProfile`.
`static java.lang.String` `EXPIRATION_DATE_ATTRIBUTE` Attribute `<g:expiration_date>`.
`static java.lang.String` `IMAGE_LINK_ATTRIBUTE` Attribute `<g:image_link>`.
`static java.lang.String` `ITEM_TYPE_ATTRIBUTE` Attribute `<g:item_type>`.
`static java.lang.String` `LABEL_ATTRIBUTE` Attribute `<g:label>`.
`static java.lang.String` `LOCATION_ATTRIBUTE` Attribute `<g:location>`.
`static java.lang.String` `PAYMENT_METHOD_ATTRIBUTE` Attribute `<g:payment_accepted>`.
`static java.lang.String` `PAYMENT_NOTES_ATTRIBUTE` Attribute `<g:payment_notes>`.
`static java.lang.String` `PICKUP_ATTRIBUTE` Attribute `<g:pickup>`.
`static java.lang.String` `PRICE_ATTRIBUTE` Attribute `<g:price>`.
`static java.lang.String` `PRICE_TYPE_ATTRIBUTE` Attribute `<g:price_type>`.
`static java.lang.String` `PRICE_UNITS_ATTRIBUTE` Attribute `<g:price_units>`.
`static java.lang.String` `QUANTITY_ATTRIBUTE` Attribute `<g:quantity>`.
`static java.lang.String` `SHIPPING_ATTRIBUTE` Attribute `<g:shipping>`.
`static java.lang.String` `TAX_ATTRIBUTE` Attribute `<g:tax>`.
`static java.lang.String` `TAX_PERCENT_ATTRIBUTE` Deprecated. use `TAX_ATTRIBUTE` instead
`static java.lang.String` `TAX_REGION_ATTRIBUTE` Deprecated. use `TAX_ATTRIBUTE` instead

Constructor Summary
`GoogleBaseAttributesExtension()`

Method Summary
`GoogleBaseAttribute` `addAttribute(GoogleBaseAttribute attribute)` Adds an attribute to the list.
`GoogleBaseAttribute` `addBooleanAttribute(java.lang.String name, boolean value)` Adds an attribute of type `GoogleBaseAttributeType.BOOLEAN`.
`GoogleBaseAttribute` `addDateAttribute(java.lang.String name, DateTime date)` Adds an attribute of type `GoogleBaseAttributeType.DATE`.
`GoogleBaseAttribute` `addDateTimeAttribute(java.lang.String name, DateTime dateTime)` Adds an attribute of type `GoogleBaseAttributeType.DATE_TIME`.
`GoogleBaseAttribute` `addDateTimeRangeAttribute(java.lang.String name, DateTimeRange dateTimeRange)` Adds an attribute of type `GoogleBaseAttributeType.DATE_TIME_RANGE`.
`GoogleBaseAttribute` `addFloatAttribute(java.lang.String name, float value)` Adds an attribute of type `GoogleBaseAttributeType.FLOAT`.
`GoogleBaseAttribute` `addFloatUnitAttribute(java.lang.String name, float value, java.lang.String unit)` Adds an attribute of type `GoogleBaseAttributeType.FLOAT_UNIT`.
`GoogleBaseAttribute` `addFloatUnitAttribute(java.lang.String name, NumberUnit<java.lang.Float> value)` Adds an attribute of type `GoogleBaseAttributeType.FLOAT_UNIT`.
`void` `addGroupAttribute(java.lang.String groupName, Group group)` Adds group attribute.
`void` `addImageLink(java.lang.String link)` Adds an image URL.
`GoogleBaseAttribute` `addIntAttribute(java.lang.String name, int value)` Adds an attribute of type `GoogleBaseAttributeType.INT`.
`GoogleBaseAttribute` `addIntUnitAttribute(java.lang.String name, int value, java.lang.String unit)` Adds an attribute of type `GoogleBaseAttributeType.INT_UNIT`.
`GoogleBaseAttribute` `addIntUnitAttribute(java.lang.String name, NumberUnit<java.lang.Integer> value)` Adds an attribute of type `GoogleBaseAttributeType.INT_UNIT`.
`void` `addLabel(java.lang.String value)` Adds a label to the entry.
`GoogleBaseAttribute` `addLocationAttribute(java.lang.String name, Location location)` Adds an attribute of type `GoogleBaseAttributeType.LOCATION`.
`GoogleBaseAttribute` `addLocationAttribute(java.lang.String name, java.lang.String location)` Adds an attribute of type `GoogleBaseAttributeType.LOCATION`.
`GoogleBaseAttribute` `addNumberAttribute(java.lang.String name, java.lang.Number value)` Adds an attribute of type `GoogleBaseAttributeType.NUMBER`.
`GoogleBaseAttribute` `addNumberUnitAttribute(java.lang.String name, java.lang.Number value, java.lang.String unit)` Adds an attribute of type `GoogleBaseAttributeType.NUMBER_UNIT`.
`GoogleBaseAttribute` `addNumberUnitAttribute(java.lang.String name, NumberUnit<java.lang.Number> value)` Adds an attribute of type `GoogleBaseAttributeType.NUMBER_UNIT`.
`void` `addPaymentMethod(java.lang.String method)` Adds an accepted payment method.
`GoogleBaseAttribute` `addReferenceAttribute(java.lang.String name, java.lang.String value)` Adds an attribute of type `GoogleBaseAttributeType.REFERENCE`.
`void` `addShipping(Shipping shipping)` Adds shipping attribute.
`void` `addShippingAttribute(java.lang.String name, Shipping shipping)` Adds an attribute of type `GoogleBaseAttributeType.SHIPPING`.
`void` `addTax(Tax tax)` Adds tax attribute.
`void` `addTaxAttribute(java.lang.String name, Tax tax)` Adds an attribute of type `GoogleBaseAttributeType.TAX`.
`GoogleBaseAttribute` `addTextAttribute(java.lang.String name, java.lang.String value)` Adds an attribute of type `GoogleBaseAttributeType.TEXT`.
`GoogleBaseAttribute` `addUrlAttribute(java.lang.String name, java.lang.String value)` Adds an attribute of type `GoogleBaseAttributeType.URL`.
`void` `clearAttributes()` Removes all attributes from the list.
`void` `generate(com.google.gdata.util.common.xml.XmlWriter xmlWriter, ExtensionProfile extensionProfile)` Implements `Extension.generate(XmlWriter, ExtensionProfile)`.
`java.lang.String` `getApplication()` Gets the application attribute.
`GoogleBaseAttribute` `getAttribute(java.lang.String name)` Gets the first attribute with a certain name.
`GoogleBaseAttribute` `getAttribute(java.lang.String name, GoogleBaseAttributeType type)` Gets the first attribute with a certain name and type.
`java.util.List<? extends GoogleBaseAttribute>` `getAttributes()` Gets a list of all the attributes available in the extension namespace at the current `ExtensionPoint`.
`java.util.List<? extends GoogleBaseAttribute>` `getAttributes(java.lang.String name)` Gets all the attributes with a certain name and type.
`java.util.List<? extends GoogleBaseAttribute>` `getAttributes(java.lang.String name, GoogleBaseAttributeType type)` Gets all the attributes with a certain name and type.
`java.lang.Boolean` `getBooleanAttribute(java.lang.String name)` Gets the first value of a specific attribute, as an Boolean.
`java.lang.Integer` `getCustomerId()`
`DateTime` `getDateAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a date.
`DateTimeRange` `getDateRangeAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a date/dateTime range.
`DateTime` `getDateTimeAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a date and a time.
`DateTimeRange` `getDateTimeRangeAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a `DateTimeRange`.
`java.util.List<? extends DateTimeRange>` `getDateTimeRangeAttributes(java.lang.String name)` Gets all the values of a specific attribute, as a list of `DateTimeRange`.
`java.lang.String` `getDeliveryNotes()` Gets delivery notes attribute
`NumberUnit<java.lang.Float>` `getDeliveryRadius()` Gets delivery radius.
`DateTime` `getExpirationDate()` Gets the date and time at which the entry expires.
`java.lang.Float` `getFloatAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a Float.
`NumberUnit<java.lang.Float>` `getFloatUnitAttribute(java.lang.String name)` Gets the first value of a specific attribute, as an float, followed by a unit name.
`Group` `getGroupAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a `Group`.
`java.util.Collection<? extends Group>` `getGroupAttributes(java.lang.String groupName)` Gets all the values of a specific attribute, as a collection of `Group`s.
`XmlParser.ElementHandler` `getHandler(ExtensionProfile extensionProfile, java.lang.String uri, java.lang.String localName, org.xml.sax.Attributes attributes)` Implements `Extension.getHandler(ExtensionProfile, String, String, Attributes)`.
`java.lang.String` `getImageLink()` Gets the first URL to an image representing this item.
`java.util.List<? extends java.lang.String>` `getImageLinks()` Gets all URLs to images representing this item.
`java.lang.Integer` `getIntAttribute(java.lang.String name)` Gets the first value of a specific attribute, as an Integer.
`NumberUnit<java.lang.Integer>` `getIntUnitAttribute(java.lang.String name)` Gets the first value of a specific attribute, as an integer, followed by a unit name.
`java.lang.String` `getItemType()` Gets the item type.
`java.util.Collection<? extends java.lang.String>` `getLabels()` Gets the labels set for the entry.
`java.lang.String` `getLocation()` Gets the location.
`java.lang.String` `getLocationAttribute(java.lang.String name)` Gets the first value of a specific location attribute, as an address.
`Location` `getLocationAttributeAsObject(java.lang.String name)` Gets the first value of a specific location attribute, as a location object.
`java.util.List<? extends java.lang.String>` `getLocationAttributes(java.lang.String name)` Gets all the values of a specific location attribute, as a list of strings.
`java.util.List<Location>` `getLocationAttributesAsObjects(java.lang.String name)` Gets all the values of a specific attribute, as a list of `Location` objects.
`java.lang.Number` `getNumberAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a Number.
`NumberUnit<? extends java.lang.Number>` `getNumberUnitAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a Number, followed by a unit name.
`java.util.Collection<? extends java.lang.String>` `getPaymentMethods()` Gets a collection of accepted payment methods (Cash, WireTransfer, ...).
`java.lang.String` `getPaymentNotes()` Gets payment notes attribute
`java.lang.Boolean` `getPickup()` Gets pickup attribute, or null.
`NumberUnit<java.lang.Float>` `getPrice()` Gets the price of the item.
`java.lang.String` `getPriceType()` Gets price type.
`java.lang.String` `getPriceUnits()` Gets price units.
`java.lang.Integer` `getQuantity()` Gets quantity, or null if not set.
`java.lang.String` `getReferenceAttribute(java.lang.String name)` Gets the first value of a specific reference attribute.
`java.util.Collection<? extends Shipping>` `getShipping()` Gets shipping attributes.
`Shipping` `getShippingAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a `Shipping`.
`java.util.List<? extends Shipping>` `getShippingAttributes(java.lang.String name)` Gets all the values of a specific attribute, as a list of `Shipping`s.
`java.util.Collection<? extends Tax>` `getTax()` Gets tax attributes.
`Tax` `getTaxAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a `Tax`.
`java.util.List<? extends Tax>` `getTaxAttributes(java.lang.String name)` Gets all the values of a specific attribute, as a list of `Tax`s.
`java.lang.Float` `getTaxPercent()` Deprecated. use `getTax()` instead
`java.lang.String` `getTaxRegion()` Deprecated. use `getTax()` instead
`java.lang.String` `getTextAttribute(java.lang.String name)` Gets the first value of a specific attribute, as a string.
`java.util.List<java.lang.String>` `getTextAttributeValues(java.lang.String attributeName)` Gets all the values of a specific attribute, as a list of strings.
`java.lang.String` `getUrlAttribute(java.lang.String name)` Gets the first value of a specific attribute, as an url.
`void` `removeAttribute(GoogleBaseAttribute value)` Removes an attribute from the list.
`void` `removeAttributes(java.lang.String name)` Removes all attributes with a certain name from the list.
`void` `removeAttributes(java.lang.String name, GoogleBaseAttributeType type)` Removes all attributes with a certain name and type from the list.
`void` `setApplication(java.lang.String name)` Sets the application attribute.
`void` `setDeliveryNotes(java.lang.String notes)` Sets delivery notes attribute.
`void` `setDeliveryRadius(float value, java.lang.String unit)` Sets delivery radius.
`void` `setDeliveryRadius(NumberUnit<java.lang.Float> value)` Sets delivery radius.
`void` `setExpirationDate(DateTime date)` Sets the date at which the entry expires.
`void` `setItemType(java.lang.String value)` Sets the item type.
`void` `setLocation(java.lang.String value)` Sets the location.
`void` `setPaymentNotes(java.lang.String notes)` Sets payment notes attribute.
`void` `setPickup(boolean pickup)` Sets pickup attribute.
`void` `setPrice(float value, java.lang.String currency)` Sets the price of the item.
`void` `setPrice(NumberUnit<java.lang.Float> value)` Sets the price of the item.
`void` `setPriceType(java.lang.String type)` Sets price type.
`void` `setPriceUnits(java.lang.String value)` Sets price units.
`void` `setQuantity(int value)` Sets quantity.
`void` `setTaxPercent(float taxPercent)` Deprecated. use `addTax(Tax)` instead
`void` `setTaxRegion(java.lang.String region)` Deprecated. use `addTax(Tax)` instead

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DESCRIPTION

    public static final ExtensionDescription DESCRIPTION

  A description for this extension, to pass to an `ExtensionProfile`.

### LABEL_ATTRIBUTE

    public static final java.lang.String LABEL_ATTRIBUTE

  Attribute `<g:label>`.

  See Also:
    `getLabels()`, `addLabel(String)`, Constant Field Values

### ITEM_TYPE_ATTRIBUTE

    public static final java.lang.String ITEM_TYPE_ATTRIBUTE

  Attribute `<g:item_type>`.

  See Also:
    `getItemType()`, `setItemType(String)`, Constant Field Values

### EXPIRATION_DATE_ATTRIBUTE

    public static final java.lang.String EXPIRATION_DATE_ATTRIBUTE

  Attribute `<g:expiration_date>`.

  See Also:
    `getExpirationDate()`, `setExpirationDate(DateTime)`, Constant Field Values

### IMAGE_LINK_ATTRIBUTE

    public static final java.lang.String IMAGE_LINK_ATTRIBUTE

  Attribute `<g:image_link>`.

  See Also:
    `getImageLink()`, `getImageLinks()`, `addImageLink(String)`, Constant Field Values

### PAYMENT_METHOD_ATTRIBUTE

    public static final java.lang.String PAYMENT_METHOD_ATTRIBUTE

  Attribute `<g:payment_accepted>`.

  See Also:
    `getPaymentMethods()`, `addPaymentMethod(String)`, Constant Field Values

### PRICE_ATTRIBUTE

    public static final java.lang.String PRICE_ATTRIBUTE

  Attribute `<g:price>`.

  See Also:
    `getPrice()`, `setPrice(NumberUnit)`, `setPrice(float, String)`, Constant Field Values

### LOCATION_ATTRIBUTE

    public static final java.lang.String LOCATION_ATTRIBUTE

  Attribute `<g:location>`.

  See Also:
    `getLocation()`, `setLocation(String)`, Constant Field Values

### PRICE_TYPE_ATTRIBUTE

    public static final java.lang.String PRICE_TYPE_ATTRIBUTE

  Attribute `<g:price_type>`.

  See Also:
    `getPriceType()`, `setPriceType(String)`, Constant Field Values

### QUANTITY_ATTRIBUTE

    public static final java.lang.String QUANTITY_ATTRIBUTE

  Attribute `<g:quantity>`.

  See Also:
    `getQuantity()`, `setQuantity(int)`, Constant Field Values

### PRICE_UNITS_ATTRIBUTE

    public static final java.lang.String PRICE_UNITS_ATTRIBUTE

  Attribute `<g:price_units>`.

  See Also:
    `getPriceUnits()`, `setPriceUnits(String)`, Constant Field Values

### SHIPPING_ATTRIBUTE

    public static final java.lang.String SHIPPING_ATTRIBUTE

  Attribute `<g:shipping>`.

  See Also:
    `getShipping()`, `addShipping(Shipping)`, Constant Field Values

### TAX_ATTRIBUTE

    public static final java.lang.String TAX_ATTRIBUTE

  Attribute `<g:tax>`.

  See Also:
    `getTax()`, `addTax(Tax)`, Constant Field Values

### TAX_PERCENT_ATTRIBUTE

    @Deprecated
    public static final java.lang.String TAX_PERCENT_ATTRIBUTE

  Deprecated. use `TAX_ATTRIBUTE` instead
  Attribute `<g:tax_percent>`.

  See Also:
    `getTax()`, `addTax(Tax)`, Constant Field Values

### TAX_REGION_ATTRIBUTE

    @Deprecated
    public static final java.lang.String TAX_REGION_ATTRIBUTE

  Deprecated. use `TAX_ATTRIBUTE` instead
  Attribute `<g:tax_region>`.

  See Also:
    `getTax()`, `addTax(Tax)`, Constant Field Values

### DELIVERY_RADIUS_ATTRIBUTE

    public static final java.lang.String DELIVERY_RADIUS_ATTRIBUTE

  Attribute `<g:delivery_radius>`.

  See Also:
    `getDeliveryRadius()`, `setDeliveryRadius(NumberUnit)`, `setDeliveryRadius(float, String)`, Constant Field Values

### PICKUP_ATTRIBUTE

    public static final java.lang.String PICKUP_ATTRIBUTE

  Attribute `<g:pickup>`.

  See Also:
    `getPickup()`, `setPickup(boolean)`, Constant Field Values

### DELIVERY_NOTES_ATTRIBUTE

    public static final java.lang.String DELIVERY_NOTES_ATTRIBUTE

  Attribute `<g:delivery_notes>`.

  See Also:
    `getDeliveryNotes()`, `setDeliveryNotes(String)`, Constant Field Values

### PAYMENT_NOTES_ATTRIBUTE

    public static final java.lang.String PAYMENT_NOTES_ATTRIBUTE

  Attribute `<g:payment_notes>`.

  See Also:
    `getPaymentNotes()`, `setPaymentNotes(String)`, Constant Field Values

### APPLICATION_ATTRIBUTE

    public static final java.lang.String APPLICATION_ATTRIBUTE

  Attribute `<g:application>`.

  See Also:
    `getApplication()`, `setApplication(String)`, Constant Field Values

### CUSTOMER_ID

    public static final java.lang.String CUSTOMER_ID

  Attribute `<g:customer_id>`.

  See Also:
    `getCustomerId()`, Constant Field Values

Constructor Detail

### GoogleBaseAttributesExtension

    public GoogleBaseAttributesExtension()

Method Detail

### getLabels

    public java.util.Collection<? extends java.lang.String> getLabels()

  Gets the labels set for the entry.

  Returns:
    a collection of strings, which might be empty but not null

### addLabel

    public void addLabel(java.lang.String value)

  Adds a label to the entry.

  Parameters:
    `value` -

### getItemType

    public java.lang.String getItemType()

  Gets the item type.

### setItemType

    public void setItemType(java.lang.String value)

  Sets the item type.

### getExpirationDate

    public DateTime getExpirationDate()

  Gets the date and time at which the entry expires.

### setExpirationDate

    public void setExpirationDate(DateTime date)

  Sets the date at which the entry expires.

### getImageLink

    public java.lang.String getImageLink()

  Gets the first URL to an image representing this item.

### getImageLinks

    public java.util.List<? extends java.lang.String> getImageLinks()

  Gets all URLs to images representing this item.

### addImageLink

    public void addImageLink(java.lang.String link)

  Adds an image URL.

### getPaymentMethods

    public java.util.Collection<? extends java.lang.String> getPaymentMethods()

  Gets a collection of accepted payment methods (Cash, WireTransfer, ...).

  Returns:
    a collection of strings, which might be empty but not null.

### addPaymentMethod

    public void addPaymentMethod(java.lang.String method)

  Adds an accepted payment method.

### getPrice

    public NumberUnit<java.lang.Float> getPrice()

  Gets the price of the item.

  Returns:
    a price (value and currency) or null

### setPrice

    public void setPrice(NumberUnit<java.lang.Float> value)

  Sets the price of the item.

  Parameters:
    `value` -

### setPrice

    public void setPrice(float value,
                         java.lang.String currency)

  Sets the price of the item.

  Parameters:
    `value` -
    `currency` -

### getLocation

    public java.lang.String getLocation()

  Gets the location.

### setLocation

    public void setLocation(java.lang.String value)

  Sets the location.

### setPriceType

    public void setPriceType(java.lang.String type)

  Sets price type.

### getPriceType

    public java.lang.String getPriceType()

  Gets price type.

### setQuantity

    public void setQuantity(int value)

  Sets quantity.

### getQuantity

    public java.lang.Integer getQuantity()

  Gets quantity, or null if not set.

### setPriceUnits

    public void setPriceUnits(java.lang.String value)

  Sets price units.

### getPriceUnits

    public java.lang.String getPriceUnits()

  Gets price units.

### addShipping

    public void addShipping(Shipping shipping)

  Adds shipping attribute.

### getShipping

    public java.util.Collection<? extends Shipping> getShipping()

  Gets shipping attributes.

### addTax

    public void addTax(Tax tax)

  Adds tax attribute.

### getTax

    public java.util.Collection<? extends Tax> getTax()

  Gets tax attributes.

### setTaxPercent

    @Deprecated
    public void setTaxPercent(float taxPercent)

  Deprecated. use `addTax(Tax)` instead

  Sets tax percent attribute.

### getTaxPercent

    @Deprecated
    public java.lang.Float getTaxPercent()

  Deprecated. use `getTax()` instead

  Gets tax percent attribute, or null.

### setTaxRegion

    @Deprecated
    public void setTaxRegion(java.lang.String region)

  Deprecated. use `addTax(Tax)` instead

  Sets tax region attribute.

### getTaxRegion

    @Deprecated
    public java.lang.String getTaxRegion()

  Deprecated. use `getTax()` instead

  Gets tax region attribute.

### setDeliveryRadius

    public void setDeliveryRadius(float value,
                                  java.lang.String unit)

  Sets delivery radius.

### setDeliveryRadius

    public void setDeliveryRadius(NumberUnit<java.lang.Float> value)

  Sets delivery radius.

### getDeliveryRadius

    public NumberUnit<java.lang.Float> getDeliveryRadius()

  Gets delivery radius.

### setPickup

    public void setPickup(boolean pickup)

  Sets pickup attribute.

### getPickup

    public java.lang.Boolean getPickup()

  Gets pickup attribute, or null.

### setDeliveryNotes

    public void setDeliveryNotes(java.lang.String notes)

  Sets delivery notes attribute.

### getDeliveryNotes

    public java.lang.String getDeliveryNotes()

  Gets delivery notes attribute

### setPaymentNotes

    public void setPaymentNotes(java.lang.String notes)

  Sets payment notes attribute.

### getPaymentNotes

    public java.lang.String getPaymentNotes()

  Gets payment notes attribute

### getCustomerId

    public java.lang.Integer getCustomerId()

### getAttributes

    public java.util.List<? extends GoogleBaseAttribute> getAttributes()

  Gets a list of all the attributes available in the extension namespace at the current `ExtensionPoint`. Attributes might be repeated.

  Returns:
    a list of `GoogleBaseAttribute`, which might be empty but not null

### getAttribute

    public GoogleBaseAttribute getAttribute(java.lang.String name)

  Gets the first attribute with a certain name. In most cases, there might be more than one attribute with the same name. This method will ignore extra attributes. Use `getAttributes(String)` to make sure you get all of them.

  Parameters:
    `name` - attribute name
  Returns:
    one `GoogleBaseAttribute` or null if no attribute was found with this name

### getAttribute

    public GoogleBaseAttribute getAttribute(java.lang.String name,
                                            GoogleBaseAttributeType type)

  Gets the first attribute with a certain name and type. In most cases, there might be more than one attribute with the same name and type. This method will ignore extra attributes. Use `getAttributes(String)` to make sure you get all of them.

  Parameters:
    `name` - attribute name
    `type` - attribute type (null to ignore the type)
  Returns:
    one `GoogleBaseAttribute` or null if no attribute was found with this name

### getAttributes

    public java.util.List<? extends GoogleBaseAttribute> getAttributes(java.lang.String name,
                                                                       GoogleBaseAttributeType type)

  Gets all the attributes with a certain name and type.

  Parameters:
    `name` - attribute name
    `type` - attribute type, null to ignore the type
  Returns:
    a list of `GoogleBaseAttribute`, which might be empty but not null

### getAttributes

    public java.util.List<? extends GoogleBaseAttribute> getAttributes(java.lang.String name)

  Gets all the attributes with a certain name and type.

  Parameters:
    `name` - attribute name
  Returns:
    a list of `GoogleBaseAttribute`, which might be empty but not null

### addAttribute

    public GoogleBaseAttribute addAttribute(GoogleBaseAttribute attribute)

  Adds an attribute to the list. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `attribute` -
  Returns:
    the attribute passed as parameter

### removeAttribute

    public void removeAttribute(GoogleBaseAttribute value)

  Removes an attribute from the list.

  Parameters:
    `value` -

### removeAttributes

    public void removeAttributes(java.lang.String name)

  Removes all attributes with a certain name from the list.

  Parameters:
    `name` - name of the attributes that should be removed

### removeAttributes

    public void removeAttributes(java.lang.String name,
                                 GoogleBaseAttributeType type)

  Removes all attributes with a certain name and type from the list.

  Parameters:
    `name` - name of the attributes that should be removed
    `type` - attribute type, null to ignore the type

### clearAttributes

    public void clearAttributes()

  Removes all attributes from the list.

### getTextAttribute

    public java.lang.String getTextAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a string. If it makes sense for the attribute to appear more than once, you might consider calling `getTextAttributeValues(String)` instead. This method checks the type of the attribute that is being queried. Use `getAttributeAsString(String, GoogleBaseAttributeType)` if you would like to get the value of non-string attributes.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list

### getReferenceAttribute

    public java.lang.String getReferenceAttribute(java.lang.String name)

  Gets the first value of a specific reference attribute. This method only takes into account attributes of type `GoogleBaseAttributeType.REFERENCE`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no reference attribute with this name was found on the list

### getTextAttributeValues

    public java.util.List<java.lang.String> getTextAttributeValues(java.lang.String attributeName)

  Gets all the values of a specific attribute, as a list of strings. This method checks the type of the attribute that are being queried. Use `getAttributeAsString(String, GoogleBaseAttributeType)` if you would like to get the value non-string attributes.

  Parameters:
    `attributeName` -
  Returns:
    a list of strings, which might be empty but not null

### getFloatAttribute

    public java.lang.Float getFloatAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a Float. This method only takes into account attributes of type `GoogleBaseAttributeType.FLOAT`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getIntAttribute

    public java.lang.Integer getIntAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as an Integer. This method only takes into account attributes of type `GoogleBaseAttributeType.INT`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getNumberAttribute

    public java.lang.Number getNumberAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a Number. This method only takes into account attributes of type `GoogleBaseAttributeType.NUMBER`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getBooleanAttribute

    public java.lang.Boolean getBooleanAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as an Boolean. This method only takes into account attributes of type `GoogleBaseAttributeType.BOOLEAN`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list

### getDateTimeAttribute

    public DateTime getDateTimeAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a date and a time. This method only takes into account attributes of type `GoogleBaseAttributeType.DATE_TIME`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getDateAttribute

    public DateTime getDateAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a date. This method only takes into account attributes of type `GoogleBaseAttributeType.DATE_TIME` and `GoogleBaseAttributeType.DATE`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getDateRangeAttribute

    public DateTimeRange getDateRangeAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a date/dateTime range. This method only takes into account attributes of type `GoogleBaseAttributeType.DATE_TIME`, `GoogleBaseAttributeType.DATE` and `GoogleBaseAttributeType.DATE_TIME_RANGE`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getUrlAttribute

    public java.lang.String getUrlAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as an url. This method only takes into account attributes of type `GoogleBaseAttributeType.URL`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list

### getIntUnitAttribute

    public NumberUnit<java.lang.Integer> getIntUnitAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as an integer, followed by a unit name. This method only takes into account attributes of type `GoogleBaseAttributeType.INT_UNIT`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getFloatUnitAttribute

    public NumberUnit<java.lang.Float> getFloatUnitAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as an float, followed by a unit name. This method only takes into account attributes of type `GoogleBaseAttributeType.FLOAT_UNIT`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getNumberUnitAttribute

    public NumberUnit<? extends java.lang.Number> getNumberUnitAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a Number, followed by a unit name. This method only takes into account attributes of type `GoogleBaseAttributeType.NUMBER_UNIT`, `GoogleBaseAttributeType.INT_UNIT` or `GoogleBaseAttributeType.FLOAT_UNIT`.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### addTextAttribute

    public GoogleBaseAttribute addTextAttribute(java.lang.String name,
                                                java.lang.String value)

  Adds an attribute of type `GoogleBaseAttributeType.TEXT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addReferenceAttribute

    public GoogleBaseAttribute addReferenceAttribute(java.lang.String name,
                                                     java.lang.String value)

  Adds an attribute of type `GoogleBaseAttributeType.REFERENCE`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addIntAttribute

    public GoogleBaseAttribute addIntAttribute(java.lang.String name,
                                               int value)

  Adds an attribute of type `GoogleBaseAttributeType.INT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addFloatAttribute

    public GoogleBaseAttribute addFloatAttribute(java.lang.String name,
                                                 float value)

  Adds an attribute of type `GoogleBaseAttributeType.FLOAT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addNumberAttribute

    public GoogleBaseAttribute addNumberAttribute(java.lang.String name,
                                                  java.lang.Number value)

  Adds an attribute of type `GoogleBaseAttributeType.NUMBER`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addIntUnitAttribute

    public GoogleBaseAttribute addIntUnitAttribute(java.lang.String name,
                                                   int value,
                                                   java.lang.String unit)

  Adds an attribute of type `GoogleBaseAttributeType.INT_UNIT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` -
    `unit` -
  Returns:
    the attribute object that has been created and added to the item

### addIntUnitAttribute

    public GoogleBaseAttribute addIntUnitAttribute(java.lang.String name,
                                                   NumberUnit<java.lang.Integer> value)

  Adds an attribute of type `GoogleBaseAttributeType.INT_UNIT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addFloatUnitAttribute

    public GoogleBaseAttribute addFloatUnitAttribute(java.lang.String name,
                                                     float value,
                                                     java.lang.String unit)

  Adds an attribute of type `GoogleBaseAttributeType.FLOAT_UNIT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` -
    `unit` -
  Returns:
    the attribute object that has been created and added to the item

### addFloatUnitAttribute

    public GoogleBaseAttribute addFloatUnitAttribute(java.lang.String name,
                                                     NumberUnit<java.lang.Float> value)

  Adds an attribute of type `GoogleBaseAttributeType.FLOAT_UNIT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addNumberUnitAttribute

    public GoogleBaseAttribute addNumberUnitAttribute(java.lang.String name,
                                                      java.lang.Number value,
                                                      java.lang.String unit)

  Adds an attribute of type `GoogleBaseAttributeType.NUMBER_UNIT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` -
    `unit` -
  Returns:
    the attribute object that has been created and added to the item

### addNumberUnitAttribute

    public GoogleBaseAttribute addNumberUnitAttribute(java.lang.String name,
                                                      NumberUnit<java.lang.Number> value)

  Adds an attribute of type `GoogleBaseAttributeType.NUMBER_UNIT`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addDateAttribute

    public GoogleBaseAttribute addDateAttribute(java.lang.String name,
                                                DateTime date)

  Adds an attribute of type `GoogleBaseAttributeType.DATE`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `date` - attribute value
  Returns:
    the attribute object that has been created and added to the item
  Throws:
    `java.lang.IllegalArgumentException` - if the attribute value is not only a date, but a date and a time (see `DateTime.isDateOnly()`)

### addDateTimeAttribute

    public GoogleBaseAttribute addDateTimeAttribute(java.lang.String name,
                                                    DateTime dateTime)

  Adds an attribute of type `GoogleBaseAttributeType.DATE_TIME`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `dateTime` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addUrlAttribute

    public GoogleBaseAttribute addUrlAttribute(java.lang.String name,
                                               java.lang.String value)

  Adds an attribute of type `GoogleBaseAttributeType.URL`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addBooleanAttribute

    public GoogleBaseAttribute addBooleanAttribute(java.lang.String name,
                                                   boolean value)

  Adds an attribute of type `GoogleBaseAttributeType.BOOLEAN`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `value` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addGroupAttribute

    public void addGroupAttribute(java.lang.String groupName,
                                  Group group)

  Adds group attribute.

### getGroupAttribute

    public Group getGroupAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a `Group`. This method does not check the type of the attribute that's being queried, it just gets the value and try and convert it.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list

### getGroupAttributes

    public java.util.Collection<? extends Group> getGroupAttributes(java.lang.String groupName)

  Gets all the values of a specific attribute, as a collection of `Group`s. This method does not check the type of the attribute that's being queried, it just gets the values and try and convert them.

  Parameters:
    `groupName` - the group name
  Returns:
    a list of Group, which might be empty but not null

### getShippingAttribute

    public Shipping getShippingAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a `Shipping`. This method does not check the type of the attribute that's being queried, it just gets the value and try and convert it.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted.

### getShippingAttributes

    public java.util.List<? extends Shipping> getShippingAttributes(java.lang.String name)

  Gets all the values of a specific attribute, as a list of `Shipping`s. This method does not check the type of the attribute that's being queried, it just gets the values and try and convert them.

  Parameters:
    `name` - attribute name
  Returns:
    a list of Shipping, which might be empty but not null
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### addShippingAttribute

    public void addShippingAttribute(java.lang.String name,
                                     Shipping shipping)

  Adds an attribute of type `GoogleBaseAttributeType.SHIPPING`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `shipping` - attribute value

### getTaxAttribute

    public Tax getTaxAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a `Tax`. This method does not check the type of the attribute that's being queried, it just gets the value and try and convert it.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted.

### getTaxAttributes

    public java.util.List<? extends Tax> getTaxAttributes(java.lang.String name)

  Gets all the values of a specific attribute, as a list of `Tax`s. This method does not check the type of the attribute that's being queried, it just gets the values and try and convert them.

  Parameters:
    `name` - attribute name
  Returns:
    a list of Tax, which might be empty but not null
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### addTaxAttribute

    public void addTaxAttribute(java.lang.String name,
                                Tax tax)

  Adds an attribute of type `GoogleBaseAttributeType.TAX`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `tax` - attribute value

### getLocationAttribute

    public java.lang.String getLocationAttribute(java.lang.String name)

  Gets the first value of a specific location attribute, as an address. If you would like to get latitude and longitude and not just the address, use `getLocationAttributeAsObject(String)` instead.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted.

### getLocationAttributeAsObject

    public Location getLocationAttributeAsObject(java.lang.String name)

  Gets the first value of a specific location attribute, as a location object.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted.

### getLocationAttributes

    public java.util.List<? extends java.lang.String> getLocationAttributes(java.lang.String name)

  Gets all the values of a specific location attribute, as a list of strings.

  Parameters:
    `name` - attribute name
  Returns:
    a list of locations, which might be empty but not null
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getLocationAttributesAsObjects

    public java.util.List<Location> getLocationAttributesAsObjects(java.lang.String name)

  Gets all the values of a specific attribute, as a list of `Location` objects.

  Parameters:
    `name` - attribute name
  Returns:
    a list of locations, which might be empty but not null
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### addLocationAttribute

    public GoogleBaseAttribute addLocationAttribute(java.lang.String name,
                                                    java.lang.String location)

  Adds an attribute of type `GoogleBaseAttributeType.LOCATION`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `location` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### addLocationAttribute

    public GoogleBaseAttribute addLocationAttribute(java.lang.String name,
                                                    Location location)

  Adds an attribute of type `GoogleBaseAttributeType.LOCATION`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `location` - attribute value
  Returns:
    the attribute object that has been created and added to the item

### getDateTimeRangeAttribute

    public DateTimeRange getDateTimeRangeAttribute(java.lang.String name)

  Gets the first value of a specific attribute, as a `DateTimeRange`. This method does not check the type of the attribute that's being queried, it just gets the value and try and convert it.

  Parameters:
    `name` - attribute name
  Returns:
    value of the attribute or null if no attribute with this name was found on the list
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### getDateTimeRangeAttributes

    public java.util.List<? extends DateTimeRange> getDateTimeRangeAttributes(java.lang.String name)

  Gets all the values of a specific attribute, as a list of `DateTimeRange`. This method does not check the type of the attribute that's being queried, it just gets the values and try and convert them.

  Parameters:
    `name` - attribute name
  Returns:
    a list of DateTimeRange, which might be empty but not null
  Throws:
    `java.lang.NumberFormatException` - if some value was found that could not be converted

### addDateTimeRangeAttribute

    public GoogleBaseAttribute addDateTimeRangeAttribute(java.lang.String name,
                                                         DateTimeRange dateTimeRange)

  Adds an attribute of type `GoogleBaseAttributeType.DATE_TIME_RANGE`. This method will never remove an attribute, even if it has the same name as the new attribute. If you would like to set an attribute that can only appear once, call `removeAttributes(String, GoogleBaseAttributeType)` first.

  Parameters:
    `name` - attribute name
    `dateTimeRange` - attribute value
  Returns:
    the attribute object that has been created and added to the item
  Throws:
    `java.lang.IllegalArgumentException` - if the DateTimeRange is an empty range, in which case `addDateTimeAttribute(String, com.google.gdata.data.DateTime)` should be used instead.

### generate

    public void generate(com.google.gdata.util.common.xml.XmlWriter xmlWriter,
                         ExtensionProfile extensionProfile)
                  throws java.io.IOException

  Implements `Extension.generate(XmlWriter, ExtensionProfile)`. This method generates XML code for the attribute in this extension. It is meant to be called by the Google data library.

  Specified by:
    `generate` in interface `Extension`
  Parameters:
    `xmlWriter` -
    `extensionProfile` -
  Throws:
    `java.io.IOException`

### getHandler

    public XmlParser.ElementHandler getHandler(ExtensionProfile extensionProfile,
                                               java.lang.String uri,
                                               java.lang.String localName,
                                               org.xml.sax.Attributes attributes)
                                        throws ParseException,
                                               java.io.IOException

  Implements `Extension.getHandler(ExtensionProfile, String, String, Attributes)`. This method returns a handler object that can parse an attribute in the current namespace and add the corresponding `GoogleBaseAttribute` into the list. It is meant to be called by the Google data library.

  Specified by:
    `getHandler` in interface `Extension`
  Parameters:
    `extensionProfile` - extension profile
    `uri` - extension namespace
    `localName` - tag name, without the namespace prefix
    `attributes` - tag attributes
  Returns:
    an element handler
  Throws:
    `ParseException` - when an unexpected tag or badly-formatted XML is detected
    `java.io.IOException`

### getApplication

    public java.lang.String getApplication()

  Gets the application attribute. This attribute should contain the name of the last application that modified the entry. This is informative only and should not be relied on.

  Returns:
    application attribute

### setApplication

    public void setApplication(java.lang.String name)

  Sets the application attribute. This attribute should be set every time an entry is inserted or updated. It is set automatically by `GoogleBaseService#update(java.net.URL, com.google.gdata.data.BaseEntry)` `GoogleBaseService#insert(java.net.URL, com.google.gdata.data.BaseEntry)` and `GoogleBaseService#batch(java.net.URL, com.google.gdata.data.BaseFeed)`.

  Parameters:
    `name` -