Package org.apache.wiki.parser

## Class LinkParser.Link

- java.lang.Object
- - org.apache.wiki.parser.LinkParser.Link

Enclosing class:
  LinkParser

    public static class LinkParser.Link
    extends java.lang.Object

Inner class serving as a struct containing the parsed components of a link.

### Constructor Summary

Constructors
`protected` `Link​(java.lang.String text)` Create a new Link with text but no reference.
`protected` `Link​(java.lang.String text, java.lang.String ref)` Create a new link with a given text and hyperlink (reference).

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addAttribute​(org.jdom2.Attribute attr)` Adds another attribute to the link.
`int` `attributeCount()` Returns the number of attributes on this link.
`java.util.Iterator<org.jdom2.Attribute>` `getAttributes()` Returns an Iterator over the list of JDOM Attributes.
`java.lang.String` `getExternalWiki()` Returns the name of the wiki if this is an interwiki link.
`java.lang.String` `getExternalWikiPage()` Returns the wikiname part of an interwiki link.
`java.lang.String` `getReference()` Returns the link reference, or the link text if null.
`java.lang.String` `getText()` Returns the link text.
`boolean` `hasReference()` Returns true, if there is a reference.
`boolean` `isInterwikiLink()` Returns true, if this Link represents an InterWiki link (of the form wiki:page).
`protected void` `setReference​(java.lang.String ref)` Sets the hypertext reference.
`protected void` `setText​(java.lang.String text)` Sets the link text.
`java.lang.String` `toString()` Returns a wikitext string representation of this Link.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### Link

    protected Link​(java.lang.String text)
            throws ParseException

Create a new Link with text but no reference.

Parameters:
  `text` - The link text.
Throws:
  `ParseException` - If the link text is illegal.

#### Link

    protected Link​(java.lang.String text,
                   java.lang.String ref)
            throws ParseException

Create a new link with a given text and hyperlink (reference).

Parameters:
  `text` - The link text.
  `ref` - The hypertext reference.
Throws:
  `ParseException` - If the link text or reference are illegal.

### Method Detail

#### setText

    protected void setText​(java.lang.String text)
                    throws ParseException

Sets the link text.

Parameters:
  `text` - The link text.
Throws:
  `ParseException` - If the text is illegal (e.g. null).

#### getText

    public java.lang.String getText()

Returns the link text.

Returns:
  Link text.

#### setReference

    protected void setReference​(java.lang.String ref)
                         throws ParseException

Sets the hypertext reference. Typically, this is an URI or an interwiki link, or a wikilink.

Parameters:
  `ref` - The reference.
Throws:
  `ParseException` - If the reference is illegal.

#### hasReference

    public boolean hasReference()

Returns true, if there is a reference.

Returns:
  True, if there's a reference; false otherwise.

#### getReference

    public java.lang.String getReference()

Returns the link reference, or the link text if null.

Returns:
  A link reference.

#### isInterwikiLink

    public boolean isInterwikiLink()

Returns true, if this Link represents an InterWiki link (of the form wiki:page).

Returns:
  True, if this Link represents an InterWiki link.

#### getExternalWiki

    public java.lang.String getExternalWiki()

Returns the name of the wiki if this is an interwiki link.

        Link link = new Link("Foo","Wikipedia:Foobar");
        assert( link.getExternalWikiPage(), "Wikipedia" );

Returns:
  Name of the wiki, or null, if this is not an interwiki link.

#### getExternalWikiPage

    public java.lang.String getExternalWikiPage()

Returns the wikiname part of an interwiki link. Used only with interwiki links.

        Link link = new Link("Foo","Wikipedia:Foobar");
        assert( link.getExternalWikiPage(), "Foobar" );

Returns:
  Wikiname part, or null, if this is not an interwiki link.

#### attributeCount

    public int attributeCount()

Returns the number of attributes on this link.

Returns:
  The number of attributes.

#### addAttribute

    public void addAttribute​(org.jdom2.Attribute attr)

Adds another attribute to the link.

Parameters:
  `attr` - A JDOM Attribute.

#### getAttributes

    public java.util.Iterator<org.jdom2.Attribute> getAttributes()

Returns an Iterator over the list of JDOM Attributes.

Returns:
  Iterator over the attributes.

#### toString

    public java.lang.String toString()

Returns a wikitext string representation of this Link.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  WikiText.