DataDirService
DataDirService предназначен для задания коротких постоянных имён (алиасов) для каталогов.
Придуманные постоянные имена можно использовать для обращения каталогам (метод getPath
),
реальное расположение которых можно менять и задавать через конфиг.
Пример 1
Задаем расположение каталогов:
<root>
<datadir>
<path name="my-root" path="C:/Program Files (x86)/Windows Defender/"/>
<path name="temp" path="D:/Temp/.jandcode-cache"/>
</datadir>
</root>
Использование в приложении:
//
String s_myRoot = app.bean(DataDirService.class).getPath("my-root");
System.out.println("my-root = " + s_myRoot);
//
String s_temp = app.bean(DataDirService.class).getPath("temp");
System.out.println("temp = " + s_temp);
Выведет на печть:
my-root = C:\Program Files (x86)\Windows Defender
temp = D:\Temp\.jandcode-cache
Пример 2
Модификация метода getPath
с дополнительным параметром localPath
вернет каталог localPath
относительно каталога name
String s_myTempFile = app.bean(DataDirService.class).getPath("temp", "internal-dir/file1.txt");
System.out.println("my-temp-file = " + s_myTempFile);
Выведет на печть:
my-temp-file = D:\Temp\.jandcode-cache\internal-dir\file1.txt