package Ġnl . kn aw . h uc . di . rd . tag . tag ml . tokenizer Ċ Ċ import Ġorg . eclipse . lsp 4 j . Range Ċ import Ġjava . net . URL Ċ Ċ abstract Ġclass ĠTAG ML Token Ġ{ ĊĠĠĠ Ġabstract Ġval Ġcontent : ĠString Ċ } Ċ Ċ data Ġclass ĠL SP Token ( val Ġtoken : ĠTAG ML Token , Ġval Ġrange : ĠRange ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠ ĠA Ġrange Ġin Ġa Ġtext Ġdocument Ġexpressed Ġas Ġ( zero - based ) Ġstart Ġand Ġend Ġpositions . ĊĠĠĠ Ġ// ĠĠĠ ĠA Ġrange Ġis Ġcomp arable Ġto Ġa Ġselection Ġin Ġan Ġeditor . ĠTherefore Ġthe Ġend Ġposition Ġis Ġexclusive . ĊĠĠĠ Ġ// ĠĠĠ ĠIf Ġyou Ġwant Ġto Ġspecify Ġa Ġrange Ġthat Ġcontains Ġa Ġline Ġincluding Ġthe Ġline Ġending Ġcharacter ( s ) ĊĠĠĠ Ġ// ĠĠĠ Ġthen Ġuse Ġan Ġend Ġposition Ġden oting Ġthe Ġstart Ġof Ġthe Ġnext Ġline . ĊĠĠĠ Ġprivate Ġval Ġlazy Serialized : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġ"$ token Ġat Ġ[ (${ range . start . line }, ${ range . start . character }) - (${ range . end . line }, ${ range . end . character }) ]" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġlazy Serialized Ċ } Ċ Ċ class ĠSchema Location Token ( private Ġval Ġurl : ĠURL ) Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġby Ġlazy Ġ{ Ġ"[ ! schema Ġ$ url ]" Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlazy Serialized : ĠString Ġby Ġlazy Ġ{ Ġ" Schema Location ($ url )" Ġ} ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġlazy Serialized Ċ } Ċ Ċ class ĠName Space Identifier Token ( private Ġval Ġid : ĠString , Ġprivate Ġval Ġurl : ĠURL ) Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġby Ġlazy Ġ{ Ġ"[ ! ns Ġ$ id Ġ$ url ]" Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlazy Serialized : ĠString Ġby Ġlazy Ġ{ Ġ" NameSpace ($ id ,$ url )" Ġ} ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġlazy Serialized Ċ } Ċ Ċ class ĠStart Tag Token ( val ĠtagName : ĠString ) Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġby Ġlazy Ġ{ Ġ" [$ tagName >" Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlazy Serialized Ġby Ġlazy Ġ{ Ġ" Start ($ tagName )" Ġ} ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġlazy Serialized ĊĊĠĠĠ Ġprivate Ġval Ġlazy HashCode : ĠInt Ġby Ġlazy Ġ{ Ġthis . java Class . hashCode () Ġ+ ĠtagName . hashCode () Ġ} ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġlazy HashCode ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= Ġother Ġis ĠStart Tag Token Ġ&& Ġother . tagName Ġ== ĠtagName Ċ } Ċ Ċ class ĠEnd Tag Token ( val ĠtagName : ĠString ) Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġby Ġlazy Ġ{ Ġ"< $ tagName ]" Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlazy Serialized : ĠString Ġby Ġlazy Ġ{ Ġ" End ($ tagName )" Ġ} ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġlazy Serialized ĊĊĠĠĠ Ġprivate Ġval Ġlazy HashCode : ĠInt Ġby Ġlazy Ġ{ Ġthis . java Class . hashCode () Ġ+ ĠtagName . hashCode () Ġ} ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġlazy HashCode ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= Ġother Ġis ĠEnd Tag Token Ġ&& Ġother . tagName Ġ== ĠtagName Ċ } Ċ Ċ class ĠText Token ( private Ġval Ġtext Content : ĠString ) Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġ= Ġtext Content ĊĊĠĠĠ Ġprivate Ġval Ġlazy Serialized : ĠString Ġby Ġlazy Ġ{ Ġ" Text (${ textContent . replace ("\ n ", Ġ"\\ n ") })" Ġ} ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġlazy Serialized ĊĊĠĠĠ Ġprivate Ġval Ġlazy HashCode : ĠInt Ġby Ġlazy Ġ{ Ġthis . java Class . hashCode () Ġ+ Ġtext Content . hashCode () Ġ} ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġlazy HashCode ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= Ġother Ġis ĠText Token Ġ&& Ġother . textContent Ġ== Ġtext Content Ċ } Ċ Ċ object ĠStart Text Vari ationToken Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġ= Ġ"< |" ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ" Start Text Variation ()" Ċ } Ċ Ċ object ĠEnd Text Vari ationToken Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġ= Ġ"| >" ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ" End Text Variation ()" Ċ } Ċ Ċ object ĠText Variation Separator Token Ġ: ĠTAG ML Token () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġ= Ġ" |" ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ" Text Variation Separator ()" Ċ } Ċ