SbtClassLoader

public class SbtClassLoader extends URLClassLoader

Загрузчик классов бизнес логики Global4.

Выполняет загрузку скомпилированных классов из указанного каталога.

Constructors

SbtClassLoader

protected SbtClassLoader(URL[] urls, ClassLoader parent, Map<String, Path> moduleMap, Map<String, String> simpleToCanonicalClassNameMap, Map<String, String> simpleToCanonicalResourceNameMap, Map<String, String> canonicaNameToModuleMap, List<String> moduleInitList, Map<String, String> overrideClassMap, Map<String, String> classOverrideMap, String name)

Methods

callFuncWithItThreadContext

public <T> T callFuncWithItThreadContext(ForwardFunctionWithArg<SbtClassLoader, T> func)

Выполняет анонимный метод, предварительно “захватив” загрузчик и установив его контекстным для текущего потока

Parameters:
  • func – Анонимная функция

Returns:

Результат анонимной функции

callProcWithItThreadContext

public void callProcWithItThreadContext(ForwardProcedureWithArg<SbtClassLoader> proc)

Выполняет анонимный метод, предварительно “захватив” загрузчик и установив его контекстным для текущего потока

Parameters:
  • proc – Анонимная процедура

close

public void close()

decUsageCount

public void decUsageCount()

Метод зеркалирует SolutionImage#decUsageCount().

findClass

protected Class<?> findClass(String name)

Перекрыт для удобства отладки

findResource

public URL findResource(String name)

Перекрыт для удобства отладки

findResources

public Enumeration<URL> findResources(String name)

Перекрыт для удобства отладки

getAviCanonicalNameToModuleMap

public Map<String, String> getAviCanonicalNameToModuleMap()

Возвращает карту принадлежности Avi к модулю: "Каноническое имя Avi" -> "Модуль".

Returns:

Карта

getClassOverrideMap

public Map<String, String> getClassOverrideMap()

Возвращает карту перекрытий классов прикладного кода, загруженную из файлов META-INF/overrides.xml

Returns:

Карта перекрытий классов

getInstance

public static SbtClassLoader getInstance()

Метод ищет в цепочке загрузчиков классов SbtClassLoader. Поиск начинается с текущего загрузчика контекста.

Returns:

SbtClassLoader

getInstance

public static SbtClassLoader getInstance(ClassLoader classLoader)

Метод ищет в цепочке загрузчиков классов SbtClassLoader.

Parameters:
  • classLoader – загрузчик классов.

Returns:

SbtClassLoader.

getModuleInitList

public List<String> getModuleInitList()

getModuleMap

public Map<String, Path> getModuleMap()

getOverrideClassMap

public Map<String, String> getOverrideClassMap()

Возвращает карту соответствия перекрывающего класса перекрываемому классу

Returns:

Карта базовых классов

getResource

public URL getResource(String name)

Перекрыт для удобства отладки

getResources

public Enumeration<URL> getResources(String name)

Перекрыт для удобства отладки

getSimpleToCanonicalClassNameMap

public Map<String, String> getSimpleToCanonicalClassNameMap()

Метод возвращает карту соответствия коротких имён классов бизнес-логики их полным именам. В карте содержатся имена классов с именами:

  1. *Avi

  2. *Dvi

  3. *Api

  4. *Dpi

  5. *Pkg

  6. *Lib

  7. *Ext

  8. *Ept

Пример пары ключ-значение: Tax_TaxApi -> ru.bitec.app.tax.taxRef.Tax_TaxApi

До версии AS 1.23.0-rc19 включительно, карта так же содержала имена классов с именами:

  1. POJO сущностей, загружаемых в EclipseLink

getSimpleToCanonicalResourceNameMap

public Map<String, String> getSimpleToCanonicalResourceNameMap()

Карта соответствия коротких имён ресурсных xml-файлов метаданных их полным именам. В карте содержатся пути к файлам с именами:

  1. \*.avm.xml

  2. \*.dvm.xml

  3. \*.odm.xml

  4. \*.orm.xml

  5. \*.pkg.xml

Пример пары ключ-значение: Bs_ContrasSourceFin.avm.xml -> ru/bitec/app/bs/Bs_ContrasSourceFin.avm.xml

getSolutionImageContext

public CoreSolutionImageContext getSolutionImageContext()
Returns:

Ссылка на экземпляр контекста, реализованного в прикладном GTK.

incUsageCount

public void incUsageCount()

Deprecated since version Метод: зеркалирует SolutionImage#incUsageCount().

isObsolete

public boolean isObsolete()

Метод зеркалирует SolutionImage#isLazyClose().

loadClass

protected Class<?> loadClass(String name, boolean resolve)

Перекрыт для удобства отладки

setObsolete

public void setObsolete()

Метод устанавливает значение свойства isObsolete.

Метод зеркалирует SolutionImage#closeAsync().

setSolutionImageContext

public void setSolutionImageContext(CoreSolutionImageContext context)
Parameters:
  • context – Ссылка на экземпляр контекста, реализованного в прикладном GTK.

withIt

public void withIt(ForwardProcedureWithArg<SbtClassLoader> proc)

Deprecated since version Логика: подсчёта ссылок перемещена в SolutionImage

Выполняет анонимный метод, предварительно “захватив” загрузчик.

Parameters:
  • proc – анонимный метод

withIt

public <T> T withIt(ForwardFunctionWithArg<SbtClassLoader, T> func)

Deprecated since version Логика: подсчёта ссылок перемещена в SolutionImage

Выполняет анонимный метод, предварительно “захватив” загрузчик.

Parameters:
  • func – анонимный метод

Returns:

Результат вызова анонимного метода