public class Atom10Parser extends BaseWireFeedParser
Modifier and Type | Field and Description |
---|---|
(package private) static java.util.regex.Pattern |
absoluteURIPattern |
private static org.jdom2.Namespace |
ATOM_10_NS |
private static java.lang.String |
ATOM_10_URI |
private static boolean |
resolveURIs |
Modifier | Constructor and Description |
---|---|
|
Atom10Parser() |
protected |
Atom10Parser(java.lang.String type) |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
findAtomLink(org.jdom2.Element parent,
java.lang.String rel)
Return URL string of Atom link element under parent element.
|
private java.lang.String |
findBaseURI(org.jdom2.Element root)
Find base URI of feed considering relative URIs.
|
private static java.lang.String |
formURI(java.lang.String base,
java.lang.String append)
Form URI by combining base with append portion and giving special consideration to append
portions that begin with ".."
|
protected org.jdom2.Namespace |
getAtomNamespace() |
static boolean |
getResolveURIs() |
static boolean |
isAbsoluteURI(java.lang.String uri) |
boolean |
isMyType(org.jdom2.Document document)
Inspects an XML Document (JDOM) to check if it can parse it.
|
static boolean |
isRelativeURI(java.lang.String uri)
Returns true if URI is relative.
|
WireFeed |
parse(org.jdom2.Document document,
boolean validate,
java.util.Locale locale)
Parses an XML document (JDOM Document) into a feed bean.
|
private java.util.List<Link> |
parseAlternateLinks(Feed feed,
Entry entry,
java.lang.String baseURI,
java.util.List<org.jdom2.Element> eLinks) |
private java.util.List<Category> |
parseCategories(java.lang.String baseURI,
java.util.List<org.jdom2.Element> eCategories) |
private Category |
parseCategory(java.lang.String baseURI,
org.jdom2.Element eCategory) |
private Content |
parseContent(org.jdom2.Element e) |
protected java.util.List<Entry> |
parseEntries(Feed feed,
java.lang.String baseURI,
java.util.List<org.jdom2.Element> eEntries,
java.util.Locale locale) |
protected Entry |
parseEntry(Feed feed,
org.jdom2.Element eEntry,
java.lang.String baseURI,
java.util.Locale locale) |
static Entry |
parseEntry(java.io.Reader rd,
java.lang.String baseURI,
java.util.Locale locale)
Parse entry from reader.
|
protected WireFeed |
parseFeed(org.jdom2.Element eFeed,
java.util.Locale locale) |
private Feed |
parseFeedMetadata(java.lang.String baseURI,
org.jdom2.Element eFeed,
java.util.Locale locale) |
private Link |
parseLink(Feed feed,
Entry entry,
java.lang.String baseURI,
org.jdom2.Element eLink) |
private java.util.List<Link> |
parseOtherLinks(Feed feed,
Entry entry,
java.lang.String baseURI,
java.util.List<org.jdom2.Element> eLinks) |
private Person |
parsePerson(java.lang.String baseURI,
org.jdom2.Element ePerson,
java.util.Locale locale) |
private java.util.List<SyndPerson> |
parsePersons(java.lang.String baseURI,
java.util.List<org.jdom2.Element> ePersons,
java.util.Locale locale) |
private java.lang.String |
parseTextConstructToString(org.jdom2.Element e) |
static java.lang.String |
resolveURI(java.lang.String baseURI,
org.jdom2.Parent parent,
java.lang.String url)
Resolve URI via base URL and parent element.
|
static void |
setResolveURIs(boolean resolveURIs) |
private static java.lang.String |
stripStartingSlash(java.lang.String s)
Strip starting slash from beginning of string.
|
private static java.lang.String |
stripTrailingSlash(java.lang.String s)
Strip trailing slash from end of string.
|
protected void |
validateFeed(org.jdom2.Document document) |
extractForeignMarkup, getAttribute, getAttributeValue, getStyleSheet, getType, parseFeedModules, parseItemModules, parsePersonModules
private static final java.lang.String ATOM_10_URI
private static final org.jdom2.Namespace ATOM_10_NS
private static boolean resolveURIs
static java.util.regex.Pattern absoluteURIPattern
public Atom10Parser()
protected Atom10Parser(java.lang.String type)
public static void setResolveURIs(boolean resolveURIs)
public static boolean getResolveURIs()
protected org.jdom2.Namespace getAtomNamespace()
public boolean isMyType(org.jdom2.Document document)
WireFeedParser
It checks if the given document if the type of feeds the parser understands.
document
- XML Document (JDOM) to check if it can be parsed by this parser.public WireFeed parse(org.jdom2.Document document, boolean validate, java.util.Locale locale) throws java.lang.IllegalArgumentException, FeedException
WireFeedParser
document
- XML document (JDOM) to parse.validate
- indicates if the feed should be strictly validated (NOT YET IMPLEMENTED).java.lang.IllegalArgumentException
- thrown if the parser cannot handle the given feed type.FeedException
- thrown if a feed bean cannot be created out of the XML document (JDOM).protected void validateFeed(org.jdom2.Document document) throws FeedException
FeedException
protected WireFeed parseFeed(org.jdom2.Element eFeed, java.util.Locale locale) throws FeedException
FeedException
private Feed parseFeedMetadata(java.lang.String baseURI, org.jdom2.Element eFeed, java.util.Locale locale)
private Link parseLink(Feed feed, Entry entry, java.lang.String baseURI, org.jdom2.Element eLink)
private java.util.List<Link> parseAlternateLinks(Feed feed, Entry entry, java.lang.String baseURI, java.util.List<org.jdom2.Element> eLinks)
private java.util.List<Link> parseOtherLinks(Feed feed, Entry entry, java.lang.String baseURI, java.util.List<org.jdom2.Element> eLinks)
private Person parsePerson(java.lang.String baseURI, org.jdom2.Element ePerson, java.util.Locale locale)
private java.util.List<SyndPerson> parsePersons(java.lang.String baseURI, java.util.List<org.jdom2.Element> ePersons, java.util.Locale locale)
private Content parseContent(org.jdom2.Element e)
private java.lang.String parseTextConstructToString(org.jdom2.Element e)
protected java.util.List<Entry> parseEntries(Feed feed, java.lang.String baseURI, java.util.List<org.jdom2.Element> eEntries, java.util.Locale locale)
protected Entry parseEntry(Feed feed, org.jdom2.Element eEntry, java.lang.String baseURI, java.util.Locale locale)
private java.util.List<Category> parseCategories(java.lang.String baseURI, java.util.List<org.jdom2.Element> eCategories)
private Category parseCategory(java.lang.String baseURI, org.jdom2.Element eCategory)
public static boolean isAbsoluteURI(java.lang.String uri)
public static boolean isRelativeURI(java.lang.String uri)
public static java.lang.String resolveURI(java.lang.String baseURI, org.jdom2.Parent parent, java.lang.String url)
baseURI
- Base URI used to fetch the XML documentparent
- Parent element from which to consider xml:baseurl
- URL to be resolvedprivate java.lang.String findBaseURI(org.jdom2.Element root) throws java.net.MalformedURLException
root
- Root element of feed.java.net.MalformedURLException
private java.lang.String findAtomLink(org.jdom2.Element parent, java.lang.String rel)
parent
- Consider only children of this parent elementrel
- Consider only links with this relationshipprivate static java.lang.String formURI(java.lang.String base, java.lang.String append)
base
- Base of URI, may end with trailing slashappend
- String to append, may begin with slash or ".."private static java.lang.String stripStartingSlash(java.lang.String s)
private static java.lang.String stripTrailingSlash(java.lang.String s)
public static Entry parseEntry(java.io.Reader rd, java.lang.String baseURI, java.util.Locale locale) throws org.jdom2.JDOMException, java.io.IOException, java.lang.IllegalArgumentException, FeedException
org.jdom2.JDOMException
java.io.IOException
java.lang.IllegalArgumentException
FeedException