HTML Parser Home Page

org.htmlparser.tags
Class LinkTag

java.lang.Object
  extended by org.htmlparser.nodes.AbstractNode
      extended by org.htmlparser.nodes.TagNode
          extended by org.htmlparser.tags.CompositeTag
              extended by org.htmlparser.tags.LinkTag
All Implemented Interfaces:
Serializable, Cloneable, Node, Tag

public class LinkTag
extends CompositeTag

Identifies a link tag.

See Also:
Serialized Form

Field Summary
protected  String mLink
          The URL where the link points to
 
Fields inherited from class org.htmlparser.tags.CompositeTag
mDefaultCompositeScanner, mEndTag
 
Fields inherited from class org.htmlparser.nodes.TagNode
breakTags, mAttributes, mDefaultScanner
 
Fields inherited from class org.htmlparser.nodes.AbstractNode
children, mPage, nodeBegin, nodeEnd, parent
 
Constructor Summary
LinkTag()
          Constructor creates an LinkTag object, which basically stores the location where the link points to, and the text it contains.
 
Method Summary
 String extractLink()
          Extract the link from the HREF attribute.
 String getAccessKey()
          Get the ACCESSKEY attribute, if any.
 String[] getEnders()
          Return the set of tag names that cause this tag to finish.
 String[] getEndTagEnders()
          Return the set of end tag names that cause this tag to finish.
 String[] getIds()
          Return the set of names handled by this tag.
 String getLink()
          Returns the url as a string, to which this link points.
 String getLinkText()
          Returns the text contained inside this link tag.
 boolean isFTPLink()
          Tests if the link is an FTP link.
 boolean isHTTPLikeLink()
          Tests if the link is an HTTP link or one of its variations (HTTPS, etc.).
 boolean isHTTPLink()
          Tests if the link is an HTTP link.
 boolean isHTTPSLink()
          Tests if the link is an HTTPS link.
 boolean isIRCLink()
          Tests if the link is an IRC link.
 boolean isJavascriptLink()
          Tests if the link is javascript
 boolean isMailLink()
          Is this a mail address
 void setJavascriptLink(boolean newJavascriptLink)
          Set the link as a javascript link.
 void setLink(String link)
          Set the HREF attribute.
 void setMailLink(boolean newMailLink)
          Insert the method's description here.
 String toString()
          Return the contents of this link node as a string suitable for debugging.
 
Methods inherited from class org.htmlparser.tags.CompositeTag
accept, childAt, children, collectInto, digupStringNode, elements, findPositionOf, findPositionOf, findPositionOf, getChild, getChildCount, getChildrenAsNodeArray, getChildrenHTML, getEndTag, getStringText, getText, putChildrenInto, putEndTagInto, removeChild, searchByName, searchFor, searchFor, searchFor, searchFor, setEndTag, toHtml, toPlainTextString, toString
 
Methods inherited from class org.htmlparser.nodes.TagNode
breaksFlow, getAttribute, getAttributeEx, getAttributesEx, getEndingLineNumber, getRawTagName, getStartingLineNumber, getTagBegin, getTagEnd, getTagName, getThisScanner, isEmptyXmlTag, isEndTag, removeAttribute, setAttribute, setAttribute, setAttribute, setAttributeEx, setAttributesEx, setEmptyXmlTag, setTagBegin, setTagEnd, setTagName, setText, setThisScanner
 
Methods inherited from class org.htmlparser.nodes.AbstractNode
clone, doSemanticAction, getChildren, getEndPosition, getFirstChild, getLastChild, getNextSibling, getPage, getParent, getPreviousSibling, getStartPosition, setChildren, setEndPosition, setPage, setParent, setStartPosition, toHtml
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.htmlparser.Node
clone, doSemanticAction, getChildren, getEndPosition, getFirstChild, getLastChild, getNextSibling, getPage, getParent, getPreviousSibling, getStartPosition, setChildren, setEndPosition, setPage, setParent, setStartPosition, toHtml
 

Field Detail

mLink

protected String mLink
The URL where the link points to

Constructor Detail

LinkTag

public LinkTag()
Constructor creates an LinkTag object, which basically stores the location where the link points to, and the text it contains.

In order to get the contents of the link tag, use the method children(), which returns an enumeration of nodes encapsulated within the link.

The following code will get all the images inside a link tag.

 Node node ;
 ImageTag imageTag;
 for (Enumeration e=linkTag.children();e.hasMoreElements();) {
      node = (Node)e.nextElement();
      if (node instanceof ImageTag) {
          imageTag = (ImageTag)node;
          // Process imageTag
      }
 }
 

Method Detail

getIds

public String[] getIds()
Return the set of names handled by this tag.

Specified by:
getIds in interface Tag
Overrides:
getIds in class TagNode
Returns:
The names to be matched that create tags of this type.

getEnders

public String[] getEnders()
Return the set of tag names that cause this tag to finish.

Specified by:
getEnders in interface Tag
Overrides:
getEnders in class TagNode
Returns:
The names of following tags that stop further scanning.

getEndTagEnders

public String[] getEndTagEnders()
Return the set of end tag names that cause this tag to finish.

Specified by:
getEndTagEnders in interface Tag
Overrides:
getEndTagEnders in class TagNode
Returns:
The names of following end tags that stop further scanning.

getAccessKey

public String getAccessKey()
Get the ACCESSKEY attribute, if any.

Returns:
The value of the ACCESSKEY attribute, or null if the attribute doesn't exist.

getLink

public String getLink()
Returns the url as a string, to which this link points. This string has had the "mailto:" and "javascript:" protocol stripped off the front (if those predicates return true) but not for other protocols. Don't ask me why, it's a legacy thing.

Returns:
The URL for this A tag.

getLinkText

public String getLinkText()
Returns the text contained inside this link tag.

Returns:
The textual contents between the <A></A> pair.

isMailLink

public boolean isMailLink()
Is this a mail address

Returns:
boolean true/false

isJavascriptLink

public boolean isJavascriptLink()
Tests if the link is javascript

Returns:
flag indicating if the link is a javascript code

isFTPLink

public boolean isFTPLink()
Tests if the link is an FTP link.

Returns:
flag indicating if this link is an FTP link

isIRCLink

public boolean isIRCLink()
Tests if the link is an IRC link.

Returns:
flag indicating if this link is an IRC link

isHTTPLink

public boolean isHTTPLink()
Tests if the link is an HTTP link.

Returns:
flag indicating if this link is an HTTP link

isHTTPSLink

public boolean isHTTPSLink()
Tests if the link is an HTTPS link.

Returns:
flag indicating if this link is an HTTPS link

isHTTPLikeLink

public boolean isHTTPLikeLink()
Tests if the link is an HTTP link or one of its variations (HTTPS, etc.).

Returns:
flag indicating if this link is an HTTP link or one of its variations (HTTPS, etc.)

setMailLink

public void setMailLink(boolean newMailLink)
Insert the method's description here. Creation date: (8/3/2001 1:49:31 AM)

Parameters:
newMailLink - boolean

setJavascriptLink

public void setJavascriptLink(boolean newJavascriptLink)
Set the link as a javascript link.

Parameters:
newJavascriptLink - flag indicating if the link is a javascript code

toString

public String toString()
Return the contents of this link node as a string suitable for debugging.

Specified by:
toString in interface Node
Overrides:
toString in class CompositeTag
Returns:
A string representation of this node.

setLink

public void setLink(String link)
Set the HREF attribute.

Parameters:
link - The new value of the HREF attribute.

extractLink

public String extractLink()
Extract the link from the HREF attribute.

Returns:
The URL from the HREF attibute. This is absolute if the tag has a valid page.

© 2005 Derrick Oswald
Jun 10, 2006

HTML Parser is an open source library released under LGPL. SourceForge.net