SingletonProxyAbst¶
- public abstract class SingletonProxyAbst extends ProxyAbst¶
Proxy-класс, типизированная обёртка над не типизированным экземпляром произвольного синглтона из SbtClassLoader’a.
Предназначен для типизации методов класса, вызываемых через рефлекшен.
Область использования: Необходимость вызова методов экземпляра класса, принадлежащего модулю, от которого не зависит текущий модуль.
Constructors¶
SingletonProxyAbst¶
Methods¶
getInstance¶
getInstance¶
- protected Object getInstance(ClassLoader classLoader)¶
Получает синглтон проксируемого класса, используя указанный загрузчик классов.
- Parameters:
classLoader – загрузчик классов, который будет использоваться для получения экземпляра класса.
- Throws:
ApplicationException– если возникла ошибка при получении экземпляра класса.
- Returns:
экземпляр проксируемого класса.
getSbtClassLoader¶
- protected abstract SbtClassLoader getSbtClassLoader()¶
Метод возвращает текущий загрузчик классов решения.
- Throws:
ApplicationException– Если что-то пошло не так.
- Returns:
загрузчик классов.
invoke¶
- protected final void invoke(SbtClassLoader classLoader, ForwardProcedureWithArg<Object> proc)¶
Метод необходим для случаев, когда
classLoaderдолжен отличаться от умолчательного, возвращаемого методомgetSbtClassLoader().- Parameters:
classLoader – загрузчик классов.
proc – анонимный метод.
- Throws:
ApplicationException– Если что-то пошло не так.
invoke¶
- protected final <R> R invoke(SbtClassLoader classLoader, ForwardFunctionWithArg<Object, R> func)¶
Метод необходим для случаев, когда
classLoaderдолжен отличаться от умолловочного, возвращаемого методомgetSbtClassLoader().- Parameters:
classLoader – загрузчик классов.
func – анонимный метод.
<R> – тип результата анонимного метода.
- Throws:
ApplicationException– Если что-то пошло не так.
- Returns:
результат вызова анонимного метода.