package Ġcom . network ed assets . git 4 c . data . macro . documents . item Ċ Ċ import Ġcom . network ed assets . git 4 c . core . datastore . extract ors . Extractor Data Ċ import Ġjava . util .* Ċ Ċ abstract Ġclass ĠDocuments File ( val Ġpath : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġindex Ġ= Ġpath ĊĊĠĠĠ Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpath . split ("/ "). last () ĊĊĠĠĠ Ġval Ġlocation Path : ĠList < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpath . split ("/ "). to Mutable List (). drop Last ( 1 ) Ċ Ċ } Ċ Ċ data Ġclass ĠDocuments File Index ( private Ġval Ġpath To Data : ĠString ) Ġ: ĠDocuments File ( path To Data ) Ċ Ċ data Ġclass ĠConvert ed Documents Item ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpath ToFile : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġupdate Author FullName : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġupdate Author Email : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġupdate Date : ĠDate , ĊĠĠĠĠĠĠĠ Ġval Ġraw Content : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġcontent : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġtable Of Contents : ĠTable Of Contents Ċ ) Ġ: ĠDocuments File ( path ToFile ) Ċ Ċ data Ġclass ĠDocuments Item ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpath ToFile : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġupdate Author FullName : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġupdate Author Email : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġupdate Date : ĠDate , ĊĠĠĠĠĠĠĠ Ġval Ġraw Content : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġcontent : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġtable Of Contents : ĠTable Of Contents , ĊĠĠĠĠĠĠĠ Ġval Ġrepository Path : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġrepository Branch : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġextractor Data : ĠExtract or Data ? Ċ ) Ġ: ĠDocuments File ( path ToFile ) Ġ{ ĊĊĠĠĠ Ġconstructor ( repository Path : ĠString , Ġrepository Branch : ĠString , Ġconverted Documents Item : ĠConvert ed Documents Item , Ġextractor Data : ĠExtract or Data ?) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . path , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . update Author FullName , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . update Author Email , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . update Date , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . raw Content , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . content , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Documents Item . table Of Contents , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Path , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Branch , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextractor Data ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġuuid Ġ= Ġrepository Path Ġ+ Ġ"_" Ġ+ Ġrepository Branch Ġ+ Ġ"_" Ġ+ Ġpath ToFile Ġ+ Ġ"_" Ġ+ Ġ( extractor Data ?. uuid Ġ?: Ġ" 0 ") Ċ Ċ }