Tapestry/Сервисы
Сервис-ориентированный подход (англ. SOA, service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами к которым можно получить доступ при необходимости. Сервисы состоят из двух основных частей: интерфейса и реализации[1].
|
Сервисы Tapestry по алфавиту |
[Вверх]
| Имя сервиса | Описание | Методы и свойства |
Ссылка |
|---|---|---|---|
| Advice | сервис отслеживает работу других сервисов | advise() | [1] |
| Alias | Этот сервис предоставляет ObjectProvider который вписывается в цепочку команд MasterObjectProvider и разрешает проблему неоднозначности инъекций в зависимости от типа. | getObjectProvider() | [2] |
| AliasManager | Надстройка над AliasContributions | getAliasesForMode() | [3] |
| ApplicationGlobals | Хранит глобальную информацию о приложении и его окружении | getContext() getServletContext() storeContext() storeServletContext() |
[4] |
| ApplicationInitializer | Интерфейс для инициализации Tapestry для приложения | initializeApplication() | [5] |
| ApplicationInitializerFilter | Интерфейс-фильтр для ApplicationInitializer | initializeApplication() | [6] |
| ApplicationStateCreator | Используется сервисами ApplicationStateManager и ApplicationStatePersistenceStrategy для создания объектов состояний приложения по требованию. | create() | [7] |
| ApplicationStateManager | Может управлять состояниями объектов сессий, постоянных (persist) объектов, но не привязаны к конкретной странице или компоненту. |
exists() |
[8] |
| ApplicationStatePersistenceStrategy | Используется сервисом ApplicationStateManager для управления объектами состояния сессии (SSO — англ. Session State Object) | exists() get() |
[9] |
| ApplicationStatePersistenceStrategySource | Используется для обеспечения доступа к ApplicationStatePersistenceStrategySource через логическое имя в контексте сессий. | get() | [10] |
| AssetFactory | Используется AssetSource для создания новых ресурсов (Assets) если необходимо | createAsset() getRootResource() |
[11] |
| AssetPathConverter | Приводит путь ресурса (asset) к определенному формату |
convertAssetPath() |
[12] |
| AssetSource | Используется для поиска или создания ресурса (asset) по заданному пути |
getAsset() |
[13] |
[Вверх]
| Имя сервиса | Описание | Методы и свойства |
Ссылка |
|---|---|---|---|
| BaseURLSource | Используется при переключении между нормальным (HTTP) и безопасным (HTTPS) режимами. | getBaseURL() | [14] |
| BeanBlockOverrideSource | Используется для переопределения BeanBlockSource для определенного типа данных | getDisplayBlock() getEditBlock() |
[15] |
| BeanBlockSource | Код блоков используется для отображения свойств bean-элементов (например компонентGrid), или для изменения свойств bean-элементов (используется в компоненте BeanEditForm) |
getDisplayBlock() getEditBlock() hasDisplayBlock() |
[16] |
| BeanEditContext | Определяет контекст для редактирования с помощью BeanEditor | getBeanClass() | [17] |
| BeanModelSource | Используется компонентами для создания стандартной модели BeanModel для определенного bean-класса |
createDisplayModel() |
[18] |
| BindingFactory | Создает привязку (bind) определенного типа. | newBinding() | [19] |
| BindingSource | Используется назначения привязки для параметров компонентов |
newBinding() |
[20] |
[Вверх]
| Имя сервиса | Описание | Методы и свойства |
Ссылка |
|---|---|---|---|
| ClasspathAssetAliasManager | Используется как часть поддержки ресурсов (Asset) с адресом типа classpath, для приведения путей ресурсов к URL, который может быть использован клиентом. |
toClientURL() |
[21] |
| ClassTransformation | Содержит информацию специфичную для классов, используется при преобразовании неопределенного компонентного класса в выполняемые компонентный класс | [22] | |
| ClientBehaviorSupport | Собирает информацию о используемой зоне для эффективного использования инициализации объектов на стороне клиента. |
addFormFragment() |
[23] |
| ClientDataEncoder | Сервис используется, когда компоненту или сервису необходимо закодировать некоторое количество данных на стороне клиента в виде строки |
createSink() |
[24] |
| ClientDataSink | Позволяет кодировать в строку (string) бинарные данные объектов. |
getClientData() |
[25] |
| ClientInfrastructure | Инфраструктура клиента состоит из библиотек JavaScript и файлов стилей CSS |
getJavascriptStack() |
[26] |
| ComponentClassResolver | Определяет имена классов по именам страниц и компонентов |
canonicalizePageName() |
[27] |
| ComponentClassTransformWorker | Интерфейс для множества объектов, которые могут выполнять преобразования компонентов класса. | transform() | [28] |
| ComponentDefaultProvider | Сервис, который может быть внедрен (inject) в компонент для предоставления общих значений по умолчанию для различных типов параметров |
defaultBinding() |
[29] |
| ComponentEventLinkEncoder | Отвечает за создание ссылок на запрос создания (render) страниц и ссылок на запросы событий компонентов. Также отвечает за преобразование (parsing) входящих путей для идентификации запросов на создание(render) и запросов событий компонентов. |
createComponentEventLink() |
[30] |
| ComponentEventRequestFilter | Интерфейс-фильтр для ComponentEventRequestHandler. | handle() | [31] |
| ComponentEventRequestHandler | Интерфейс-обработчик для запросов события компонента. | handle() | [32] |
| ComponentEventResultProcessor | Ответственный за обработку возвращаемого значения от компонентного метода обработчика события (event handler) | processResultValue() | [33] |
| ComponentMethodAdvice | Объект, который получает контроль над методом компонента (который получает «совет» — англ. advice) | advise() | [34] |
| ComponentMethodInvocation | Содержит параметы, обработчики исключений и результаты работы методов, позволяющие ComponentMethodAdvice обрабатывать вызовы | [35] | |
| ComponentRequestFilter | Интерфейс-фильтр для ComponentRequestHandler. |
handleComponentEvent() |
[36] |
| ComponentRequestHandler | Надстройка над ComponentEventRequestHandler и PageRenderRequestHandler, которая позволяет упростить фильтры, которые обрабатываю оба вида запросов | handleComponentEvent() handlePageRender() |
[37] |
| ComponentSource | Используется классами, которым необходимо получить компонент по его полному идентификатору или страницу по ее логическому имени или главный компонентный класс. | getComponent() getPage() |
[38] |
| Context | Альтернатива ServletContext, которая служит мостом между Servlet API и Portlet API | getAttribute() getAttributeNames() |
[39] |
| ContextPathEncoder | Сервис предоставляющий методы необходимые для кодирования и декодирования контекстных событий, в и из URL | decodePath() encodeIntoPath() |
[40] |
| ContextValueEncoder | Используется для преобразования значений, используемых в контексте событий клиенту в строковой форме и обратно. | toClient() toValue() |
[41] |
| Cookies | Используется другими сервисами для определения значений cookie для данного запроса или для записи значений в cookie в рамках запроса | [42] | |
[Вверх]
| Имя сервиса | Описание | Методы и свойства |
Ссылка |
|---|---|---|---|
| DataTypeAnalyzer | Используется BeanModelSource для определения типа данных, связанных с конкретным свойством (представленных в виде PropertyAdapter) | identifyDataType() | [43] |
| Dispatcher | Диспетчер отвечает за распознавание входящего запроса | dispatch() | [44] |
[Вверх]
| Имя сервиса | Описание | Методы и свойства |
Ссылка |
|---|---|---|---|
| Environment | Предоставляет доступ к переменным окружения, обычно используется компонентами | clear()
getAccess() peek() peekRequired() pop() push() |
[45] |
[Вверх]
| Имя сервиса | Описание | Методы и свойства |
Ссылка |
|---|---|---|---|
| Tapestry IoC | обращение контроля | [46] |
Переопределение сервисов [2]
Переопределение (Override):
public static void contributeServiceOverride(MappedConfiguration<Class,Object> configuration)
{
configuration.add(SomeServiceType.class, new SomeServiceType() { . . . });
}
Декорирование (decorate):
public SomeServiceType decorateSomeServiceType(SomeServiceType original)
{
return new SomeServiceType() { . . . };
}
Примечания
Ссылки
- Описание пакета org.apache.tapestry5.services
- Описание пакета org.apache.tapestry5.ioc.services
- Описание пакета org.apache.tapestry5.internal.services