# Google Data APIs Client Library (1.43.0)

## com.google.gdata.data
Class BaseEntry<E extends BaseEntry>

    java.lang.Object
      com.google.gdata.data.AbstractExtension
          com.google.gdata.data.ExtensionPoint
              com.google.gdata.data.BaseEntry<E>

Type Parameters:
  `E` - the entry type associated with the bound subtype.

All Implemented Interfaces:
  Extension, IAtom, IEntry, Kind.Adaptable, Kind.Adaptor

Direct Known Subclasses:
  AbPageVariationEntry, AccountEntry, AclEntry, AttendeeEntry, BaseActivityEntry, BaseEventEntry, BaseHealthEntry, BasePersonEntry, BlogEntry, CalendarEntry, CellEntry, ChannelEntry, CodeSearchEntry, CollectionEntry, CombinationEntry, CommentEntry, CommentEntry, ComplaintEntry, ContactEntry, ContactGroupEntry, CrawlIssueEntry, DataEntry, DocumentExportEntry, EmailListEntry, EmailListRecipientEntry, Entry, ExperimentEntry, FeatureEntry, FeedLinkEntry, FriendEntry, GenericEntry, GoogleBaseEntry, IssueCommentsEntry, IssuesEntry, KeywordEntry, ListEntry, ManagementEntry, MediaEntry, MessageEntry, MessageEntry, MetadataEntry, NicknameEntry, PortfolioEntry, PositionEntry, PostEntry, ProjectSummaryEntry, RatingEntry, RecordEntry, RevisionEntry, SectionEntry, SidewikiEntry, SidewikiUserEntry, SiteEntry, SitemapsEntry, SitesEntry, SpreadsheetEntry, TableEntry, TransactionEntry, UserEntry, UserEventEntry, UserProfileEntry, VariationEntry, VersionEntry, VolumeEntry, WorksheetEntry

    public abstract class BaseEntry<E extends BaseEntry>

extends ExtensionPoint
implements Kind.Adaptable, Kind.Adaptor, IEntry

The BaseEntry class is an abstract base class that defines the in-memory object model for GData entries.

It is capable of parsing the Atom XML for an `<atom:entry>` element as well as any contained Extension elements. It can generate both Atom and RSS 2.0 representations of the entry from the object model.

The BaseEntry class implements the `Kind.Adaptable` interface, meaning it is possible to create new `Kind.Adaptor` subtypes that defines a custom extension model (and associated convenience APIs) for a BaseEntry subtypes that use Atom/RSS extensions to extend the content model for a particular type of data.

An `Kind.Adaptor` subclass of BaseEntry should do the following:

- Include a `Kind.Term` annotation on the class declaration that defines the `Category` term value for the GData kind handled by the adaptor.
- Provide a constructor that takes a single BaseEntry parameter as an argument that is used when adapting a generic entry type to a more specific one.
- Implement the `Kind.Adaptor.declareExtensions(ExtensionProfile)` method and use it to declare the extension model for the adapted instance within the profile passed as a parameter. This is used to auto-extend an extension profile when kind Category tags are found during parsing of content.
- Expose convenience APIs to retrieve and set extension attributes, with an implementions that delegates to `ExtensionPoint` methods to store/retrieve the extension data.

Here is the Relax-NG schema that represents an Atom 1.0 entry:

     atomEntry =
       element atom:entry {
         atomCommonAttributes,
         (atomAuthor*
         & atomCategory*
         & atomContent?
         & atomContributor*
         & atomId
         & atomLink*
         & atomPublished?
         & atomRights?
         & atomSource?
         & atomSummary?
         & atomTitle
         & atomUpdated
         & extensionElement*)

See Also:
  `Kind.Adaptor`, `Kind.Adaptable`

Nested Class Summary
`class` `BaseEntry.AtomHandler` `<atom:entry>` parser.
`protected static class` `BaseEntry.EntryState` The EntryState class provides a simple structure that encapsulates the attributes of an Atom entry that should be shared with a shallow copy if the entry is adapted to a more specific BaseEntry `Kind.Adaptor` subtypes.

Nested classes/interfaces inherited from class com.google.gdata.data.ExtensionPoint
`ExtensionPoint.CumulativeBlobHandler, ExtensionPoint.ExtensionHandler`

Nested classes/interfaces inherited from class com.google.gdata.data.AbstractExtension
`AbstractExtension.AttributesHandler`

Field Summary
`protected BaseEntry.EntryState` `state` Basic state for this entry.

Fields inherited from class com.google.gdata.data.ExtensionPoint
`xmlBlob`

Fields inherited from class com.google.gdata.data.AbstractExtension
`localName, namespace`

Constructor Summary
`protected` `BaseEntry()` Constructs a new BaseEntry instance.
`protected` `BaseEntry(BaseEntry<?> sourceEntry)` Copy constructor that initializes a new BaseEntry instance to have identical contents to another instance, using a shared reference to the same `BaseEntry.EntryState`.

Method Summary
`void` `addAdaptor(Kind.Adaptor adaptor)` Associates a new `Kind.Adaptor` with this `Adaptable` instance.
`void` `addHtmlLink(java.lang.String htmlUri, java.lang.String lang, java.lang.String title)` Adds a link pointing to an HTML representation.
`void` `addLink(Link link)`
`Link` `addLink(java.lang.String rel, java.lang.String type, java.lang.String href)` Adds a link with the given rel, type, and href.
`void` `delete()` Deletes this entry by sending a request to the associated GData service.
`void` `generate(com.google.gdata.util.common.xml.XmlWriter w, ExtensionProfile p)` Generates an XML representation for the extension.
`void` `generateAtom(com.google.gdata.util.common.xml.XmlWriter w, ExtensionProfile extProfile)` Generates XML in the Atom format.
`void` `generateRss(com.google.gdata.util.common.xml.XmlWriter w, ExtensionProfile extProfile)` Generates XML in the RSS format.
`BaseEntry<?>` `getAdaptedEntry()` Locates and returns the most specific `Kind.Adaptor` BaseEntry subtype for this entry.

`

`<A extends Kind.Adaptor> A`

`

`getAdaptor(java.lang.Class<A> adaptorClass)`
Returns a `Kind.Adaptor` instance associated with this `Adaptable` instance of the specified type, or {code null} if none is available..

`java.util.Collection<Kind.Adaptor>` `getAdaptors()` Returns the collection of `Kind.Adaptor` instances associated with the this `Adaptable` instance.
`java.util.List<Person>` `getAuthors()` Returns the list of all authors on this resource.
`boolean` `getCanEdit()` Returns `true` if the entry can be modified by a client.
`java.util.Set<Category>` `getCategories()` Returns a set of categories on this resource.
`Content` `getContent()` Gets the content of this entry.
`protected Content.ChildHandlerInfo` `getContentHandlerInfo(ExtensionProfile extProfile, org.xml.sax.Attributes attrs)` Returns information about the content element processing.
`java.util.List<Person>` `getContributors()`
`DateTime` `getEdited()` Get a `DateTime` instance representing the last time this entry was edited.
`Link` `getEditLink()` Retrieves the resource edit link.
`java.lang.String` `getEtag()` Gets the value of the gd:etag attribute for this resource.
`XmlParser.ElementHandler` `getHandler(ExtensionProfile p, java.lang.String namespace, java.lang.String localName, org.xml.sax.Attributes attrs)` The default implementation uses the `AbstractExtension.AttributesHandler` to handle parsing the extension.
`Link` `getHtmlLink()` Retrieves the first HTML link.
`java.lang.String` `getId()` Get the unique id for this resource.
`java.lang.String` `getKind()` Returns the value of the gd:kind attribute for this resource.
`Link` `getLink(java.lang.String rel, java.lang.String type)` Retrieves the first link with the supplied `rel` and/or `type` value.
`java.util.List<Link>` `getLinks()` Returns a list of atom:link elements on this resource.
`java.util.List<Link>` `getLinks(java.lang.String relToMatch, java.lang.String typeToMatch)` Return the links that match the given `rel` and `type` values.
`Link` `getMediaEditLink()` Retrieves the media resource edit link.
`java.lang.String` `getPlainTextContent()` Assumes the <content> element's contents are plain-text and returns its value as a string
`PubControl` `getPubControl()` Gets the app:control tag.
`DateTime` `getPublished()` Get a `DateTime` instance representing the time that this entry was created.
`Link` `getResumableEditMediaLink()` Retrieves the media resource resumable upload link.
`TextConstruct` `getRights()`
`java.lang.String` `getSelectedFields()` Returns the current fields selection for this partial entry.
`E` `getSelf()` Retrieves the current version of this Entry by requesting it from the associated GData service.
`Link` `getSelfLink()` Retrieves the resource access link.
`Service` `getService()`
`Source` `getSource()`
`TextConstruct` `getSummary()` Returns the atom:summary element of this entry.
`TextContent` `getTextContent()` Assumes the content element's contents are text and returns them as a TextContent.
`TextConstruct` `getTitle()` Returns the atom:title element of this resource.
`DateTime` `getUpdated()` Get a `DateTime` instance representing the last time this resource was updated.
`java.lang.String` `getVersionId()` Version ID.
`boolean` `isDraft()` Draft status.
`void` `parseAtom(ExtensionProfile extProfile, java.io.InputStream input)` Parses XML in the Atom format.
`void` `parseAtom(ExtensionProfile extProfile, java.io.Reader reader)` Parses XML in the Atom format.
`void` `parseAtom(ExtensionProfile extProfile, XmlEventSource eventSource)` Parses XML in the Atom format from a parser-defined content source.
`static BaseEntry<?>` `readEntry(ParseSource source)` Reads an entry representation from the provided `ParseSource`.

`static

`<T extends BaseEntry> T`

`

`readEntry(ParseSource source, java.lang.Class<T> entryClass, ExtensionProfile extProfile)`
Reads an entry of type `T` using the given extension profile.

`void` `removeLinks()` Remove all links.
`void` `removeLinks(java.lang.String relToMatch, java.lang.String typeToMatch)` Remove all links that match the given `rel` and `type` values.
`void` `setCanEdit(boolean v)` Sets whether the server allows this entry to be modified by the client.
`void` `setContent(Content v)`
`void` `setContent(TextConstruct tc)`
`void` `setDraft(java.lang.Boolean v)` Set draft status.
`void` `setEdited(DateTime v)` Set the last time this entry was edited using the app:edited element.
`void` `setEtag(java.lang.String v)` Sets the value of the gd:etag attribute for this resource.
`void` `setId(java.lang.String v)` Sets the unique id for this resource.
`void` `setKind(java.lang.String v)` Sets the value of the gd:kind attribute for this resource.
`void` `setPubControl(PubControl value)` Sets the app:control tag, which usually contains app:draft.
`void` `setPublished(DateTime v)` Sets the date of publishing for this entry.
`void` `setRights(TextConstruct v)`
`void` `setSelectedFields(java.lang.String v)` Sets the current fields selection for this partial entry.
`void` `setService(Service s)` Sets the service that this resource is being used with.
`void` `setSource(Source v)`
`void` `setSummary(TextConstruct v)`
`void` `setTitle(TextConstruct v)`
`void` `setUpdated(DateTime v)` Sets the last time this resource was updated.
`void` `setVersionId(java.lang.String v)` Sets the versionId.
`E` `update()` Updates this entry by sending the current representation to the associated GData service.
`protected void` `visitChildren(ExtensionVisitor ev)` Called to visit all children of this extension point.

Methods inherited from class com.google.gdata.data.ExtensionPoint

`addExtension, addExtension, addRepeatingExtension, addRepeatingExtension, checkRequiredExtensions, createExtensionInstance, declareExtensions, generate, generateCumulativeXmlBlob, generateExtensions, generateStartElement, getExtension, getExtensionDescription, getExtensionHandler, getExtensions, getManifest, getRepeatingExtension, getRepeatingExtensions, getXmlBlob, hasExtension, hasRepeatingExtension, initializeArbitraryXml, parseCumulativeXmlBlob, removeExtension, removeExtension, removeRepeatingExtension, setExtension, setXmlBlob, visit, visitChild`

Methods inherited from class com.google.gdata.data.AbstractExtension
`consumeAttributes, disableStrictValidation, enableStrictValidation, eq, generateAttributes, getExtensionLocalName, getExtensionNamespace, isImmutable, isStrictValidation, putAttributes, sameClassAs, setImmutable, throwExceptionForMissingAttribute, throwExceptionIfImmutable, validate`

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

Methods inherited from interface com.google.gdata.data.Kind.Adaptor
`declareExtensions`

Field Detail

### state

    protected BaseEntry.EntryState state

  Basic state for this entry. May be shared across multiple adapted instances associated with the same logical entry.

Constructor Detail

### BaseEntry

    protected BaseEntry()

  Constructs a new BaseEntry instance.

### BaseEntry

    protected BaseEntry(BaseEntry<?> sourceEntry)

  Copy constructor that initializes a new BaseEntry instance to have identical contents to another instance, using a shared reference to the same `BaseEntry.EntryState`. `Kind.Adaptor` subclasses of `BaseEntry` can use this constructor to create adaptor instances of an entry that share state with the original.

Method Detail

### getId

    public java.lang.String getId()

  Description copied from interface: `IAtom`
  Get the unique id for this resource. Represents the atom:id element.

  Specified by:
    `getId` in interface `IAtom`

### setId

    public void setId(java.lang.String v)

  Description copied from interface: `IAtom`
  Sets the unique id for this resource.

  Specified by:
    `setId` in interface `IAtom`

### getVersionId

    public java.lang.String getVersionId()

  Description copied from interface: `IAtom`
  Version ID. This is a unique number representing this particular resource. Every update changes the version ID (unless the update doesn't modify anything, in which case it's permissible for version ID to stay the same). Services are free to interpret this string in the most convenient way. Some services may choose to use a monotonically increasing sequence of version IDs. Other services may compute a hash of entry properties or feed content and use that.

  This property is only used for services to communicate the current version ID back to the servlet. It is NOT set when resources are parsed (either from requests or from arbitrary XML).

  Specified by:
    `getVersionId` in interface `IAtom`

### setVersionId

    public void setVersionId(java.lang.String v)

  Description copied from interface: `IAtom`
  Sets the versionId. See `IAtom.getVersionId()` for a description of what the versionId is used for.

  Specified by:
    `setVersionId` in interface `IAtom`

### getEtag

    public java.lang.String getEtag()

  Description copied from interface: `IAtom`
  Gets the value of the gd:etag attribute for this resource. See RFC 2616, Section 3.11.

  Specified by:
    `getEtag` in interface `IAtom`

### setEtag

    public void setEtag(java.lang.String v)

  Description copied from interface: `IAtom`
  Sets the value of the gd:etag attribute for this resource.

  Specified by:
    `setEtag` in interface `IAtom`

### getSelectedFields

    public java.lang.String getSelectedFields()

  Returns the current fields selection for this partial entry. A value of `null` indicates the entry is not a partial entry.

  Specified by:
    `getSelectedFields` in interface `IEntry`

### setSelectedFields

    public void setSelectedFields(java.lang.String v)

  Sets the current fields selection for this partial entry. A value of `null` indicates the entry is not a partial entry.

  Specified by:
    `setSelectedFields` in interface `IEntry`

### getKind

    public java.lang.String getKind()

  Description copied from interface: `IAtom`
  Returns the value of the gd:kind attribute for this resource. Returns `null` if the kind attribute is missing.

  Specified by:
    `getKind` in interface `IAtom`

### setKind

    public void setKind(java.lang.String v)

  Description copied from interface: `IAtom`
  Sets the value of the gd:kind attribute for this resource. A value of `null` will remove the kind attribute.

  Specified by:
    `setKind` in interface `IAtom`

### getPublished

    public DateTime getPublished()

  Description copied from interface: `IEntry`
  Get a `DateTime` instance representing the time that this entry was created. Represents the atom:published element.

  Specified by:
    `getPublished` in interface `IEntry`

### setPublished

    public void setPublished(DateTime v)

  Description copied from interface: `IEntry`
  Sets the date of publishing for this entry. Used on the server to specify when the entry was created.

  Specified by:
    `setPublished` in interface `IEntry`

### getUpdated

    public DateTime getUpdated()

  Description copied from interface: `IAtom`
  Get a `DateTime` instance representing the last time this resource was updated. Represents the atom:updated element.

  Specified by:
    `getUpdated` in interface `IAtom`

### setUpdated

    public void setUpdated(DateTime v)

  Description copied from interface: `IAtom`
  Sets the last time this resource was updated.

  Specified by:
    `setUpdated` in interface `IAtom`

### getEdited

    public DateTime getEdited()

  Description copied from interface: `IEntry`
  Get a `DateTime` instance representing the last time this entry was edited. Represents the app:edited element.

  Specified by:
    `getEdited` in interface `IEntry`

### setEdited

    public void setEdited(DateTime v)

  Description copied from interface: `IEntry`
  Set the last time this entry was edited using the app:edited element.

  Specified by:
    `setEdited` in interface `IEntry`

### getCategories

    public java.util.Set<Category> getCategories()

  Description copied from interface: `IAtom`
  Returns a set of categories on this resource.

  Specified by:
    `getCategories` in interface `IAtom`

### getTitle

    public TextConstruct getTitle()

  Description copied from interface: `IAtom`
  Returns the atom:title element of this resource.

  Specified by:
    `getTitle` in interface `IAtom`

### setTitle

    public void setTitle(TextConstruct v)

### getSummary

    public TextConstruct getSummary()

  Description copied from interface: `IEntry`
  Returns the atom:summary element of this entry.

  Specified by:
    `getSummary` in interface `IEntry`

### setSummary

    public void setSummary(TextConstruct v)

### getRights

    public TextConstruct getRights()

### setRights

    public void setRights(TextConstruct v)

### getContent

    public Content getContent()

  Description copied from interface: `IEntry`
  Gets the content of this entry. Represents the atom:content element.

  Specified by:
    `getContent` in interface `IEntry`

### setContent

    public void setContent(Content v)

### getTextContent

    public TextContent getTextContent()

  Assumes the content element's contents are text and returns them as a TextContent.

  Returns:
    A TextContent containing the value of the content tag.
  Throws:
    `java.lang.IllegalStateException` - If the content element is not a text type.

### getPlainTextContent

    public java.lang.String getPlainTextContent()

  Assumes the <content> element's contents are plain-text and returns its value as a string

  Returns:
    A string containing the plain-text value of the content tag.
  Throws:
    `java.lang.IllegalStateException` - If the content element is not a text type.

### setContent

    public void setContent(TextConstruct tc)

### getLinks

    public java.util.List<Link> getLinks()

  Description copied from interface: `IAtom`
  Returns a list of atom:link elements on this resource. If there are no links, an empty list will be returned.

  Specified by:
    `getLinks` in interface `IAtom`

### addLink

    public void addLink(Link link)

### addLink

    public Link addLink(java.lang.String rel,
                        java.lang.String type,
                        java.lang.String href)

  Description copied from interface: `IAtom`
  Adds a link with the given rel, type, and href.

  Specified by:
    `addLink` in interface `IAtom`

### getAuthors

    public java.util.List<Person> getAuthors()

  Description copied from interface: `IAtom`
  Returns the list of all authors on this resource.

  Specified by:
    `getAuthors` in interface `IAtom`

### getContributors

    public java.util.List<Person> getContributors()

### getSource

    public Source getSource()

### setSource

    public void setSource(Source v)

### setDraft

    public void setDraft(java.lang.Boolean v)

  Set draft status. Passing a null value means unsetting the draft status.

  Parameters:
    `v` - Draft status, or null to unset.

### isDraft

    public boolean isDraft()

  Draft status.

  Returns:
    True if draft status is set and equals true.

### getPubControl

    public PubControl getPubControl()

  Gets the app:control tag.

  Returns:
    pub control tag or null if unset

### setPubControl

    public void setPubControl(PubControl value)

  Sets the app:control tag, which usually contains app:draft.

  Parameters:
    `value` - PubControl the new object or null

### setService

    public void setService(Service s)

  Description copied from interface: `IAtom`
  Sets the service that this resource is being used with.

  Specified by:
    `setService` in interface `IAtom`

### getService

    public Service getService()

### getCanEdit

    public boolean getCanEdit()

  Description copied from interface: `IEntry`
  Returns `true` if the entry can be modified by a client.

  Specified by:
    `getCanEdit` in interface `IEntry`

### setCanEdit

    public void setCanEdit(boolean v)

  Description copied from interface: `IEntry`
  Sets whether the server allows this entry to be modified by the client.

  Specified by:
    `setCanEdit` in interface `IEntry`

### addAdaptor

    public void addAdaptor(Kind.Adaptor adaptor)

  Description copied from interface: `Kind.Adaptable`
  Associates a new `Kind.Adaptor` with this `Adaptable` instance.

  Specified by:
    `addAdaptor` in interface `Kind.Adaptable`

### getAdaptors

    public java.util.Collection<Kind.Adaptor> getAdaptors()

  Description copied from interface: `Kind.Adaptable`
  Returns the collection of `Kind.Adaptor` instances associated with the this `Adaptable` instance.

  Specified by:
    `getAdaptors` in interface `Kind.Adaptable`

### getAdaptor

    public <A extends Kind.Adaptor> A getAdaptor(java.lang.Class<A> adaptorClass)

  Description copied from interface: `Kind.Adaptable`
  Returns a `Kind.Adaptor` instance associated with this `Adaptable` instance of the specified type, or {code null} if none is available..

  Specified by:
    `getAdaptor` in interface `Kind.Adaptable`

### getLink

    public Link getLink(java.lang.String rel,
                        java.lang.String type)

  Retrieves the first link with the supplied `rel` and/or `type` value.

  If either parameter is `null`, doesn't return matches for that parameter.

  Specified by:
    `getLink` in interface `IAtom`

### getLinks

    public java.util.List<Link> getLinks(java.lang.String relToMatch,
                                         java.lang.String typeToMatch)

  Return the links that match the given `rel` and `type` values.

  Parameters:
    `relToMatch` - `rel` value to match or `null` to match any `rel` value.
    `typeToMatch` - `type` value to match or `null` to match any `type` value.
  Returns:
    matching links.

### removeLinks

    public void removeLinks(java.lang.String relToMatch,
                            java.lang.String typeToMatch)

  Remove all links that match the given `rel` and `type` values.

  Specified by:
    `removeLinks` in interface `IAtom`
  Parameters:
    `relToMatch` - `rel` value to match or `null` to match any `rel` value.
    `typeToMatch` - `type` value to match or `null` to match any `type` value.

### removeLinks

    public void removeLinks()

  Remove all links.

  Specified by:
    `removeLinks` in interface `IAtom`

### addHtmlLink

    public void addHtmlLink(java.lang.String htmlUri,
                            java.lang.String lang,
                            java.lang.String title)

  Adds a link pointing to an HTML representation.

  Parameters:
    `htmlUri` - Link URI.
    `lang` - Optional language code.
    `title` - Optional title.

### getSelfLink

    public Link getSelfLink()

  Retrieves the resource access link.

  Specified by:
    `getSelfLink` in interface `IAtom`

### getEditLink

    public Link getEditLink()

  Retrieves the resource edit link.

  Specified by:
    `getEditLink` in interface `IEntry`

### getMediaEditLink

    public Link getMediaEditLink()

  Retrieves the media resource edit link.

  Specified by:
    `getMediaEditLink` in interface `IEntry`

### getResumableEditMediaLink

    public Link getResumableEditMediaLink()

  Retrieves the media resource resumable upload link.

  Specified by:
    `getResumableEditMediaLink` in interface `IEntry`

### getHtmlLink

    public Link getHtmlLink()

  Retrieves the first HTML link.

### getSelf

    public E getSelf()
                                throws java.io.IOException,
                                       ServiceException

  Retrieves the current version of this Entry by requesting it from the associated GData service.

  Returns:
    the current version of the entry.
  Throws:
    `java.io.IOException`
    `ServiceException`

### update

    public E update()
                               throws java.io.IOException,
                                      ServiceException

  Updates this entry by sending the current representation to the associated GData service.

  Returns:
    the updated entry returned by the Service.
  Throws:
    `ServiceException` - If there is no associated GData service or the service is unable to perform the update.
    `java.lang.UnsupportedOperationException` - If update is not supported for the target entry.
    `java.io.IOException` - If there is an error communicating with the GData service.

### delete

    public void delete()
                throws java.io.IOException,
                       ServiceException

  Deletes this entry by sending a request to the associated GData service.

  Throws:
    `ServiceException` - If there is no associated GData service or the service is unable to perform the deletion.
    `java.lang.UnsupportedOperationException` - If deletion is not supported for the target entry.
    `java.io.IOException` - If there is an error communicating with the GData service.

### visitChildren

    protected void visitChildren(ExtensionVisitor ev)
                          throws ExtensionVisitor.StoppedException

  Description copied from class: `ExtensionPoint`
  Called to visit all children of this extension point.

  Overrides:
    `visitChildren` in class `ExtensionPoint`
  Parameters:
    `ev` - the extension visitor.
  Throws:
    `ExtensionVisitor.StoppedException`

### generate

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

  Description copied from interface: `Extension`
  Generates an XML representation for the extension.

  Specified by:
    `generate` in interface `Extension`
  Overrides:
    `generate` in class `AbstractExtension`
  Parameters:
    `w` - XML writer
    `p` - extension profile
  Throws:
    `java.io.IOException`

### generateAtom

    public void generateAtom(com.google.gdata.util.common.xml.XmlWriter w,
                             ExtensionProfile extProfile)
                      throws java.io.IOException

  Generates XML in the Atom format.

  Parameters:
    `w` - Output writer.
    `extProfile` - Extension profile.
  Throws:
    `java.io.IOException`

### generateRss

    public void generateRss(com.google.gdata.util.common.xml.XmlWriter w,
                            ExtensionProfile extProfile)
                     throws java.io.IOException

  Generates XML in the RSS format.

  Parameters:
    `w` - Output writer.
    `extProfile` - Extension profile.
  Throws:
    `java.io.IOException`

### readEntry

    public static BaseEntry<?> readEntry(ParseSource source)
                                  throws java.io.IOException,
                                         ParseException,
                                         ServiceException

  Reads an entry representation from the provided `ParseSource`. The return type of the entry will be determined using dynamic adaptation based upon any `Kind` category tag found in the input content. If no kind tag is found an `Entry` instance will be returned.

  Throws:
    `java.io.IOException`
    `ParseException`
    `ServiceException`

### readEntry

    public static <T extends BaseEntry> T readEntry(ParseSource source,
                                                    java.lang.Class<T> entryClass,
                                                    ExtensionProfile extProfile)
                                         throws java.io.IOException,
                                                ParseException,
                                                ServiceException

  Reads an entry of type `T` using the given extension profile.

  Throws:
    `java.io.IOException`
    `ParseException`
    `ServiceException`

### parseAtom

    public void parseAtom(ExtensionProfile extProfile,
                          java.io.InputStream input)
                   throws java.io.IOException,
                          ParseException

  Parses XML in the Atom format.

  Parameters:
    `extProfile` - Extension profile.
    `input` - XML input stream.
  Throws:
    `java.io.IOException`
    `ParseException`

### parseAtom

    public void parseAtom(ExtensionProfile extProfile,
                          java.io.Reader reader)
                   throws java.io.IOException,
                          ParseException

  Parses XML in the Atom format.

  Parameters:
    `extProfile` - Extension profile.
    `reader` - XML Reader. The caller is responsible for ensuring that the character encoding is correct.
  Throws:
    `java.io.IOException`
    `ParseException`

### parseAtom

    public void parseAtom(ExtensionProfile extProfile,
                          XmlEventSource eventSource)
                   throws java.io.IOException,
                          ParseException

  Parses XML in the Atom format from a parser-defined content source.

  Parameters:
    `extProfile` - Extension profile.
    `eventSource` - XML event source.
  Throws:
    `java.io.IOException`
    `ParseException`

### getContentHandlerInfo

    protected Content.ChildHandlerInfo getContentHandlerInfo(ExtensionProfile extProfile,
                                                             org.xml.sax.Attributes attrs)
                                                      throws ParseException,
                                                             java.io.IOException

  Returns information about the content element processing.

  Throws:
    `ParseException`
    `java.io.IOException`

### getHandler

    public XmlParser.ElementHandler getHandler(ExtensionProfile p,
                                               java.lang.String namespace,
                                               java.lang.String localName,
                                               org.xml.sax.Attributes attrs)

  Description copied from class: `AbstractExtension`
  The default implementation uses the `AbstractExtension.AttributesHandler` to handle parsing the extension.

  Specified by:
    `getHandler` in interface `Extension`
  Overrides:
    `getHandler` in class `ExtensionPoint`
  Parameters:
    `p` - extension profile
    `namespace` - extension namespace
    `localName` - tag name, without the namespace prefix
    `attrs` - tag attributes
  Returns:
    an element handler

### getAdaptedEntry

    public BaseEntry<?> getAdaptedEntry()
                                 throws Kind.AdaptorException

  Locates and returns the most specific `Kind.Adaptor` BaseEntry subtype for this entry. If none can be found for the current class, `null` will be returned.

  Throws:
    `Kind.AdaptorException` - for subclasses to throw.