# Class HTML

java.lang.Object
net.sf.statcvs.pages.HTML

public final class HTML extends Object
TODO: Can we turn this into an abstract base class of MarkupHTML and MarkupXDoc?

Version:
  $Id: HTML.java,v 1.19 2009/08/05 16:32:10 benoitx Exp $
Author:
  Anja Jentzsch, Richard Cyganiak (richard@cyganiak.de)

## Field Summary

Fields
Modifier and Type
Field
Description
`static final SimpleDateFormat`
`OUTPUT_DATE_FORMAT`
`static final SimpleDateFormat`
`OUTPUT_DATE_TIME_FORMAT`

## Method Summary

Modifier and Type
Method
Description
`static String`
`escape(String text)`
Escapes HTML meta characters "invalid input: '&'", "invalid input: '<'", ">" and turns "\n" line breaks into HTML line breaks ("
");
`static String`
`escapeAuthorName(String authorName)`
Escapes evil characters in author's names.
`static String`
`escapeDirectoryName(String directoryName)`
`static String`
`escapeUrl(String text)`
Escapes HTML as well as " as it is not valid in URL.
`static String`
`escapeUrlParameters(String text)`
Escapes HTML as well as " as it is not valid in URL.
`static String`
`getAffectedFilesCount(Set files)`
Returns HTML code for number of affected files
`static String`
`getAuthorIdLink(Author author)`
Returns HTML code for a link to an author Id page
`static String`
`getAuthorLink(Author author)`
Returns HTML code for a link to an author page
`static String`
`getDate(Date date)`
Returns HTML code for a date
`static String`
`getDateAndTime(Date date)`
Returns HTML code for a date, including time
`static String`
`getDirectoryLink(Directory directory)`
Returns HTML code for a directory page link
`static String`
`getIcon(String iconFilename)`
Generates HTML for an icon
`static String`
`getIcon(String iconFilename, String title)`
Generates HTML for an icon
`static String`
`getLink(String link, String linkName)`
Creates a HTML representation of a hyperlink
`static String`
`getLink(String link, String linkName, String prefix, String suffix)`
Creates a HTML representation of a hyperlink
`static String`
`getRevisionNumber(String revisionNumber)`
Returns HTML code for a revision number
`static String`
`webifyLinksFromPlainText(String plainText)`
From a plain text comment identify the http: and https links and create a link for them.

### Methods inherited from class Object

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

## Field Details

### OUTPUT_DATE_FORMAT

public static final SimpleDateFormat OUTPUT_DATE_FORMAT

### OUTPUT_DATE_TIME_FORMAT

public static final SimpleDateFormat OUTPUT_DATE_TIME_FORMAT

## Method Details

### getLink

public static String getLink(String link, String linkName)
Creates a HTML representation of a hyperlink

Parameters:
  `link` - URL
  `linkName` - Name of the Link
Returns:
  String HTML code of the hyperlink

### getLink

public static String getLink(String link, String linkName, String prefix, String suffix)
Creates a HTML representation of a hyperlink

Parameters:
  `link` - URL
  `linkName` - Name of the Link
  `prefix` - A prefix to be inserted before the link label; no HTML escaping is performed
  `prefix` - A suffix to be inserted after the link label; no HTML escaping is performed
Returns:
  String HTML code of the hyperlink

### getAuthorLink

public static String getAuthorLink(Author author)
Returns HTML code for a link to an author page

Parameters:
  `author` - the author
Returns:
  HTML code for the link

### getAuthorIdLink

public static String getAuthorIdLink(Author author)
Returns HTML code for a link to an author Id page

Parameters:
  `author` - the author
Returns:
  HTML code for the link

### getDate

public static String getDate(Date date)
Returns HTML code for a date

Parameters:
  `date` - the date
Returns:
  HTML code for the date

### getAffectedFilesCount

public static String getAffectedFilesCount(Set files)
Returns HTML code for number of affected files

Parameters:
  `files` - affected files
Returns:
  HTML code for number of affected files

### getDateAndTime

public static String getDateAndTime(Date date)
Returns HTML code for a date, including time

Parameters:
  `date` - the date
Returns:
  HTML code for the date

### getRevisionNumber

public static String getRevisionNumber(String revisionNumber)
Returns HTML code for a revision number

Parameters:
  `revisionNumber` - a revision number
Returns:
  HTML code for a revision number

### getDirectoryLink

public static String getDirectoryLink(Directory directory)
Returns HTML code for a directory page link

Parameters:
  `directory` - a directory
Returns:
  HTML code for the link

### getIcon

public static String getIcon(String iconFilename)
Generates HTML for an icon

Parameters:
  `iconFilename` - an icon filename (HTMLOutput.XXXX_ICON constants)
Returns:
  HTML string

### getIcon

public static String getIcon(String iconFilename, String title)
Generates HTML for an icon

Parameters:
  `iconFilename` - an icon filename (HTMLOutput.XXXX_ICON constants)
  `title` - the title for the icon.
Returns:
  HTML string

### escapeAuthorName

public static String escapeAuthorName(String authorName)

Escapes evil characters in author's names. E.g. "#" must be escaped because for an author "my#name" a page "author_my#name.html" will be created, and you can't link to that in HTML

TODO: Replace everything *but* known good characters, instead of just evil ones

Parameters:
  `authorName` - an author's name
Returns:
  a version safe for creation of files and URLs

### escapeDirectoryName

public static String escapeDirectoryName(String directoryName)

### escape

public static String escape(String text)
Escapes HTML meta characters "invalid input: '&'", "invalid input: '<'", ">" and turns "\n" line breaks into HTML line breaks ("
");

Parameters:
  `text` - some string, for example "x > 0 invalid input: '&'invalid input: '&' y invalid input: '<' 100"
Returns:
  HTML-escaped string, for example "x > 0 && y < 100"

### escapeUrl

public static String escapeUrl(String text)
Escapes HTML as well as " as it is not valid in URL.

Parameters:
  `text` - some string, for example "x > 0 invalid input: '&'invalid input: '&' y invalid input: '<' 100"
Returns:
  HTML-escaped string, for example "x > 0 && y < 100"

### escapeUrlParameters

public static String escapeUrlParameters(String text)
Escapes HTML as well as " as it is not valid in URL.

Parameters:
  `text` - some string, for example "x > 0 invalid input: '&'invalid input: '&' y invalid input: '<' 100"
Returns:
  HTML-escaped string, for example "x > 0 && y < 100"

### webifyLinksFromPlainText

public static String webifyLinksFromPlainText(String plainText)
From a plain text comment identify the http: and https links and create a link for them.

Parameters:
  `plainText` -