com.atlassian.confluence.content.render.xhtml
Class HtmlElementIdCreator

java.lang.Object
  extended by com.atlassian.confluence.content.render.xhtml.HtmlElementIdCreator
All Implemented Interfaces:
ElementIdCreator

public class HtmlElementIdCreator
extends Object
implements ElementIdCreator

A non-thread safe class used to create HTML ids within a render 'context'.


Constructor Summary
HtmlElementIdCreator()
           
 
Method Summary
static String convertToId(String str)
          Deprecated. this method strips characters leading to useless IDs in some cases - use convertToIdHtml5 instead
static String convertToIdHtml5(String original)
          The draft HTML5 spec states that the id attribute value must be unique amongst all the IDs in the element's home subtree and must contain at least one character.
 String generateId()
          The current implementation is very simplistic and will simply create id's of the pattern "id-<n>".
 String generateId(String basis)
          The draft HTML5 spec states that the id attribute value must be unique amongst all the IDs in the element's home subtree and must contain at least one character.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HtmlElementIdCreator

public HtmlElementIdCreator()
Method Detail

generateId

public String generateId()
The current implementation is very simplistic and will simply create id's of the pattern "id-<n>".

Specified by:
generateId in interface ElementIdCreator
Returns:
an auto-generate id unique within the context of a particular ConversionContext.

generateId

public String generateId(String basis)
The draft HTML5 spec states that the id attribute value
must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.
(As specified at http://dev.w3.org/html5/spec/elements.html#the-id-attribute).

This method will take an arbitrary String and ensure that the above encoding is followed as well as ensuring that the id returned is unique (within the scope of this HtmlElementIdCreator instance).

Specified by:
generateId in interface ElementIdCreator
Parameters:
str - the string to be converted to an id
Returns:
a valid id String unique to the scope of the HtmlElementIdCreator instance.

convertToId

@Deprecated
public static String convertToId(String str)
Deprecated. this method strips characters leading to useless IDs in some cases - use convertToIdHtml5 instead

The draft HTML5 spec states that the id attribute value
must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.
(As specified at http://dev.w3.org/html5/spec/elements.html#the-id-attribute).

This method will take an arbitrary String and ensure that all white space and punctuation are removed, except for hyphens. This method does not create unique ids. You should instantiate an instance of HtmlElementIdCreator and use generateId(String) if you have this requirement.

Parameters:
str - the string to be converted to an id
Returns:
a valid id

convertToIdHtml5

public static String convertToIdHtml5(String original)
The draft HTML5 spec states that the id attribute value
must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.
(As specified at http://dev.w3.org/html5/spec/elements.html#the-id-attribute).

This method will not generate IDs that are safe to put directly into HTML or URLs. The result of this method should be appropriately encoded for the environment in which it is used. This method will take an arbitrary String return a valid HTML5 ID derived from the original string. It will strip out all whitespace. This method does not create unique ids. You should instantiate an instance of HtmlElementIdCreator and use generateId(String) if you have this requirement.

Parameters:
str - the string to be converted to an id
Returns:
a valid id
Since:
4.3


Copyright © 2003-2013 Atlassian. All Rights Reserved.