package Ġdata maint ain . core . script Ċ Ċ import Ġjava . math . BigInteger Ċ import Ġdata maint ain . core . config . Data maint ain Config Ċ import Ġdata maint ain . core . exception . Data maint ain File Identifier Pattern Exception Ċ import Ġjava . nio . file . Path Ċ import Ġjava . security . Message Digest Ċ Ċ class ĠFile Script Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġval Ġpath : ĠPath , ĊĠĠĠĠĠĠĠ Ġidentifier Regex : ĠRegex , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtags : ĠSet < Tag > Ġ= Ġset Of (), ĊĠĠĠĠĠĠĠ Ġoverride Ġvar Ġaction : ĠScript Action Ġ= ĠData maint ain Config . default Action Ċ ) Ġ: ĠScript With Content Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpath . fileName . toString () ĊĊĠĠĠ Ġoverride Ġval Ġchecksum : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent . hash () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġcontent : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġpath . to File (). read Text () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġidentifier : ĠString Ġby Ġlazy ( fun (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatch Result Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier Regex . match Ent ire ( name ) Ġ?: Ġthrow ĠData maint ain File Identifier Pattern Exception ( name , Ġidentifier Regex ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmatch Result . group Values [ 1 ] ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġprivate Ġfun ĠString . hash (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmd Ġ= ĠMessage Digest . getInstance (" MD 5 ") ĊĠĠĠĠĠĠĠ Ġreturn ĠBigInteger ( 1 , Ġmd . digest ( toByteArray ())). toString ( 1 6 ). pad Start ( 3 2 , Ġ' 0 ') ĊĠĠĠ Ġ} Ċ } ĊĊĊĊ