// Ċ // Ġ( C ) ĠCopyright Ġ 2 0 1 9 - 2 0 2 1 ĠMartin ĠE . ĠN ord berg ĠIII Ċ // ĠApache Ġ 2 . 0 ĠLicense Ċ // Ċ Ċ package Ġbar lom . graphs Ċ Ċ import Ġbar lom . graphs . properties . I PropertyValue History Ċ import Ġbar lom . graphs . properties . String PropertyValue Ċ import Ġbar lom . graphs . properties . Time Sp anning PropertyValue Ċ import Ġbar lom . util . Time Interval Ċ import Ġjava . time . Instant Ċ import Ġjava . util .* Ċ Ċ //---------------------------------------------------------------- ------------------------------------------------ ----- Ċ Ċ /** Ċ Ġ* ĠAn Ġentity Ġthat Ġhas Ġproperties Ġretrie vable Ġby Ġname . Ċ Ġ*/ Ċ interface ĠI Property Container Ġ{ ĊĊĠĠĠ Ġ/** ĠAdds Ġa Ġproperty Ġby Ġ[ propertyName ]. Ġ*/ ĊĠĠĠ Ġfun Ġadd Property ( ĊĠĠĠĠĠĠĠ ĠpropertyName : ĠString , ĊĠĠĠĠĠĠĠ Ġinitial Transaction Time : ĠInstant , ĊĠĠĠĠĠĠĠ Ġvar arg Ġinitial Values : ĠTime Sp anning PropertyValue ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġadd Property ( ĊĠĠĠĠĠĠĠ ĠpropertyName : ĠString , ĊĠĠĠĠĠĠĠ Ġinitial Transaction And Valid Time : ĠInstant , ĊĠĠĠĠĠĠĠ Ġvalue : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Property ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpropertyName , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Transaction And Valid Time , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTime Sp anning PropertyValue ( String PropertyValue ( value ), ĠTime Interval . starting At ( initial Transaction And Valid Time )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** Ġ@ return Ġa Ġproperty Ġby Ġ[ propertyName ]. Ġ*/ ĊĠĠĠ Ġoperator Ġfun Ġget ( propertyName : ĠString ): ĠOptional < I PropertyValue History > ĊĊĠĠĠ Ġ/** Ġ@ return Ġtrue Ġif Ġthis Ġconcept Ġhas Ġa Ġproperty Ġwith Ġgiven Ġ[ propertyName ]. Ġ*/ ĊĠĠĠ Ġfun Ġhas Property ( propertyName : ĠString ): ĠBoolean ĊĊĠĠĠ Ġ/** Ġ@ return Ġthe Ġnames Ġof Ġall Ġproperties Ġrelevant Ġfor Ġthis Ġentity . Ġ*/ ĊĠĠĠ Ġfun Ġproperty Names (): ĠSet < String > Ċ Ċ } Ċ Ċ //---------------------------------------------------------------- ------------------------------------------------ ----- Ċ