@startuml

    namespace org.apache.wiki.diff {

        class DefaultDifferenceManager [[DefaultDifferenceManager.html]] {
            +DefaultDifferenceManager(Engine, Properties)
            +makeDiff(Context, String, String): String
            +getDiff(Context, int, int): String
        }

        interface DiffProvider [[DiffProvider.html]] {
            {abstract} +makeDiffHtml(Context, String, String): String
        }

        class org.apache.wiki.diff.DiffProvider.NullDiffProvider [[DiffProvider.NullDiffProvider.html]] {
            +makeDiffHtml(Context, String, String): String
            +initialize(Engine, Properties): void
            +getProviderInfo(): String
        }

        interface DifferenceManager [[DifferenceManager.html]] {
            {static} +PROP_DIFF_PROVIDER: String
            {abstract} +makeDiff(Context, String, String): String
            {abstract} +getDiff(Context, int, int): String
        }

        class ContextualDiffProvider [[ContextualDiffProvider.html]] {
            {static} +PROP_UNCHANGED_CONTEXT_LIMIT: String
            {static} +CHANGE_START_HTML: String
            {static} +CHANGE_END_HTML: String
            {static} +DIFF_START: String
            {static} +DIFF_END: String
            {static} +INSERTION_START_HTML: String
            {static} +INSERTION_END_HTML: String
            {static} +DELETION_START_HTML: String
            {static} +DELETION_END_HTML: String
            {static} +ELIDED_HEAD_INDICATOR_HTML: String
            {static} +ELIDED_TAIL_INDICATOR_HTML: String
            {static} +LINE_BREAK_HTML: String
            {static} +ALTERNATING_SPACE_HTML: String
            +m_emitChangeNextPreviousHyperlinks: boolean
            +getProviderInfo(): String
            +initialize(Engine, Properties): void
            +makeDiffHtml(Context, String, String): String
        }

        class ExternalDiffProvider [[ExternalDiffProvider.html]] {
            {static} +PROP_DIFFCOMMAND: String
            +getProviderInfo(): String
            +initialize(Engine, Properties): void
            +makeDiffHtml(Context, String, String): String
        }

        class TraditionalDiffProvider [[TraditionalDiffProvider.html]] {
            +getProviderInfo(): String
            +initialize(Engine, Properties): void
            +makeDiffHtml(Context, String, String): String
        }

        DifferenceManager <|.. DefaultDifferenceManager

        interface org.apache.wiki.api.providers.WikiProvider {
            {abstract} +initialize(Engine, Properties): void
            {abstract} +getProviderInfo(): String
        }
        org.apache.wiki.api.providers.WikiProvider <|.. DiffProvider

        DiffProvider <|.. org.apache.wiki.diff.DiffProvider.NullDiffProvider

        DiffProvider +-- org.apache.wiki.diff.DiffProvider.NullDiffProvider

        DiffProvider <|.. ContextualDiffProvider

        DiffProvider <|.. ExternalDiffProvider

        DiffProvider <|.. TraditionalDiffProvider

    }


    center footer UMLDoclet 1.1.4, PlantUML 1.2019.05
@enduml
