Каково значение объявления модели слинга как (adaptables = Resource.class) - PullRequest
0 голосов
/ 31 января 2019

В Sling Model класс модели аннотируется как @Model (adaptables = Resource.class)

Каково значение передачи параметра в виде adaptables = Resource.class.Что делать, если я не передам какой-либо параметр.Что принимает весь параметр @Model.

1 Ответ

0 голосов
/ 04 февраля 2019

Свойство adaptables определяет, какие исходные объекты можно адаптировать к реализации модели Sling.Обычно это Resource и / или SlingHttpServletRequest, что означает ресурс Sling или объект запроса Sling соответственно.

В большинстве распространенных сценариев использования вы можете использовать стратегию адаптации по умолчанию в сочетании с другими аннотациями модели OOTB.Для сложных случаев вы можете реализовать свой собственный адаптер, чтобы контролировать, как это делается.

Если вы не укажете тип adaptables, то я не думаю, что модель позволит вам создать его экземпляр с помощью adaptTo() метод.Я сомневаюсь, что вы сможете вручную создать экземпляр службы ModelFactory.

Для получения подробной информации о различных аннотациях и опциях модели Sling см. Документацию Sling [0], она содержит почти всю информацию, которую вы должнынеобходимость.Есть также хорошие примеры в проекте ACS AEM Samples [1].

[0] https://sling.apache.org/documentation/bundles/models.html

[1] https://github.com/Adobe-Consulting-Services/acs-aem-samples/blob/master/bundle/src/main/java/com/adobe/acs/samples/models/SampleSlingModel.java

...