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] |
Переопределение (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