// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . service Container Ċ Ċ import Ġcom . intellij . configuration Store . State Storage Manager Ċ import Ġcom . intellij . ide . plugins . Ide a Plugin Descriptor Impl Ċ import Ġcom . intellij . openapi . application . Application Ċ import Ġcom . intellij . openapi . components . Persistent State Component Ċ import Ġcom . intellij . openapi . components . Service Descriptor Ċ import Ġcom . intellij . openapi . components . impl . stores . I Component Store Ċ import Ġcom . intellij . openapi . extensions . Default Plugin Descriptor Ċ import Ġcom . intellij . openapi . extensions . Plugin Id Ċ import Ġcom . intellij . util . messages . Message Bus Ċ import Ġjava . nio . file . Path Ċ Ċ internal Ġval Ġtest Plugin Descriptor Ġ= ĠDefault Plugin Descriptor (" test ") Ċ Ċ internal Ġclass ĠTest Component Manager ( override Ġvar Ġis GetComponent Adapter OfType Check Enabled : ĠBoolean Ġ= Ġtrue ) Ġ: ĠComponent ManagerImpl ( null , Ġset Extensions Root Area Ġ= Ġfalse Ġ/* Ġmust Ġwork Ġwithout Ġ*/) Ġ{ ĊĠ Ġinit Ġ{ ĊĠĠĠ Ġregister Service ( I Component Store :: class . java , ĠTest Component Store :: class . java , Ġtest Plugin Descriptor , Ġfalse ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Container Descriptor ( plugin Descriptor : ĠIde a Plugin Descriptor Impl ) Ġ= Ġplugin Descriptor . app Container Descriptor ĊĊĠ Ġoverride Ġfun Ġget Application (): ĠApplication ? Ġ= Ġnull Ċ } Ċ Ċ private Ġclass ĠTest Component Store Ġ: ĠI Component Store Ġ{ ĊĠ Ġoverride Ġval Ġstorage Manager : ĠState Storage Manager ĊĠĠĠ Ġget () Ġ= ĠTODO (" not Ġimplemented ") ĊĊĠ Ġoverride Ġfun Ġset Path ( path : ĠPath ) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinit Component ( component : ĠAny , Ġservice Descriptor : ĠService Descriptor ?, Ġplugin Id : ĠPlugin Id ?) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinit Persistence Plain Component ( component : ĠAny , Ġkey : ĠString ) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġreload States ( component Names : ĠSet < String >, Ġmessage Bus : ĠMessage Bus ) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġreload State ( component Class : ĠClass < out ĠPersistent State Component <* >>) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis Reload Possible ( component Names : ĠSet < String >) Ġ= Ġfalse ĊĊĠ Ġoverride Ġsuspend Ġfun Ġsave ( force Saving All Settings : ĠBoolean ) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġsave Component ( component : ĠPersistent State Component <* >) Ġ{ ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġremove Component ( name : ĠString ) Ġ{ ĊĠ Ġ} Ċ }