/** Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠRichard ĠH aus wal d Ġ- Ġhttps :// quantum maid . de /. Ċ Ġ* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġde . quantum maid . doc um aid . domain . xml Ċ Ċ import Ġde . quantum maid . doc um aid . collect ing . structure . FileType Ċ import Ġde . quantum maid . doc um aid . collect ing . structure . Project Ċ import Ġde . quantum maid . doc um aid . collect ing . structure . Project File Ċ import Ġde . quantum maid . doc um aid . domain . snippet . Raw Snippet Ċ import Ġde . quantum maid . doc um aid . domain . snippet . Snippet Extractor Ċ import Ġde . quantum maid . doc um aid . errors . Verification Error Ċ import Ġde . quantum maid . doc um aid . processing . Processing Result Ċ import Ġde . quantum maid . doc um aid . processing . Processing Result . Companion . content Not Changed Processing Result Ċ import Ġjava . nio . file . Path Ċ Ċ class ĠXml File Ġprivate Ġconstructor ( private Ġval Ġpath : ĠPath , Ġval Ġsnippets : ĠList < Raw Snippet >) Ġ: ĠProject File () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġobject ĠXml Snippet Format Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġstart Tag Regex Ġ= Ġ" <!-- Ġ* Show case Ġ* start Ġ*( ?< id > \\ w +) Ġ* --> Ġ* \\ n " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġend Tag Regex Ġ= Ġ" Ġ* <!-- Ġ* Show case Ġ* end Ġ* \\ k < id > Ġ* --> Ġ*" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregex Ġ= ĠRegex (" (? s )$ start Tag Regex (? < snippet > .* (? =$ end Tag Regex )) $ end Tag Regex \\ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( path : ĠPath ): ĠXml File Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsnippets Ġ= ĠSn ippet Extractor . create Extractor For ( FileType . XML ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. extract Snippets ( path , ĠXml Snippet Format . regex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠXml File ( path , Ġsnippets ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠfileType (): ĠFile Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFile Type . XML ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġabsolute Path (): ĠPath Ġ= Ġpath ĊĊĠĠĠ Ġoverride Ġfun Ġprocess ( project : ĠProject ): ĠProcessing Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontent Not Changed Processing Result ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvalidate ( project : ĠProject ): ĠList < Verification Error > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsnippets (): ĠList < Raw Snippet > Ġ= Ġsnippets Ċ } Ċ