Package org.apache.wiki.diff
Class ContextualDiffProvider
java.lang.Object
org.apache.wiki.diff.ContextualDiffProvider
- All Implemented Interfaces:
WikiProvider
,DiffProvider
public class ContextualDiffProvider extends Object implements DiffProvider
A seriously better diff provider, which highlights changes word-by-word using CSS.
Suggested by John Volkar.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.wiki.diff.DiffProvider
DiffProvider.NullDiffProvider
-
Field Summary
Fields Modifier and Type Field Description static String
ALTERNATING_SPACE_HTML
static String
CHANGE_END_HTML
static String
CHANGE_START_HTML
static String
DELETION_END_HTML
static String
DELETION_START_HTML
static String
DIFF_END
static String
DIFF_START
static String
ELIDED_HEAD_INDICATOR_HTML
static String
ELIDED_TAIL_INDICATOR_HTML
static String
INSERTION_END_HTML
static String
INSERTION_START_HTML
static String
LINE_BREAK_HTML
boolean
m_emitChangeNextPreviousHyperlinks
static String
PROP_UNCHANGED_CONTEXT_LIMIT
A jspwiki.properties value to define how many characters are shown around the change context.Fields inherited from interface org.apache.wiki.api.providers.WikiProvider
LATEST_VERSION
-
Constructor Summary
Constructors Constructor Description ContextualDiffProvider()
Constructs this provider. -
Method Summary
Modifier and Type Method Description String
getProviderInfo()
Return a valid HTML string for information.void
initialize(Engine engine, Properties properties)
Initializes the page provider.String
makeDiffHtml(Context ctx, String wikiOld, String wikiNew)
Do a colored diff of the two regions.
-
Field Details
-
PROP_UNCHANGED_CONTEXT_LIMIT
A jspwiki.properties value to define how many characters are shown around the change context. The current value is "jspwiki.contextualDiffProvider.unchangedContextLimit".- See Also:
- Constant Field Values
-
m_emitChangeNextPreviousHyperlinks
-
CHANGE_START_HTML
-
CHANGE_END_HTML
-
DIFF_START
-
DIFF_END
-
INSERTION_START_HTML
-
INSERTION_END_HTML
-
DELETION_START_HTML
-
DELETION_END_HTML
-
ELIDED_HEAD_INDICATOR_HTML
-
ELIDED_TAIL_INDICATOR_HTML
-
LINE_BREAK_HTML
-
ALTERNATING_SPACE_HTML
-
-
Constructor Details
-
ContextualDiffProvider
public ContextualDiffProvider()Constructs this provider.
-
-
Method Details
-
getProviderInfo
Description copied from interface:WikiProvider
Return a valid HTML string for information. May be anything.- Specified by:
getProviderInfo
in interfaceWikiProvider
- Returns:
- A string describing the provider.
- See Also:
WikiProvider.getProviderInfo()
-
initialize
public void initialize(Engine engine, Properties properties) throws NoRequiredPropertyException, IOExceptionDescription copied from interface:WikiProvider
Initializes the page provider.- Specified by:
initialize
in interfaceWikiProvider
- Parameters:
engine
- Engine to own this providerproperties
- A set of properties used to initialize this provider- Throws:
NoRequiredPropertyException
- If the provider needs a property which is not found in the property setIOException
- If there is an IO problem- See Also:
WikiProvider.initialize(org.apache.wiki.api.core.Engine, java.util.Properties)
-
makeDiffHtml
Do a colored diff of the two regions. This. is. serious. fun. ;-)- Specified by:
makeDiffHtml
in interfaceDiffProvider
- Parameters:
ctx
- The Wiki ContextwikiOld
- the old textwikiNew
- the new text- Returns:
- An XHTML diff.
- See Also:
DiffProvider.makeDiffHtml(Context, String, String)
-