Adobe AEM yazılım bir apache Sling Kaynak alıp şöyle bir başka sınıfa adapte çeşitli sınıfları sağlar Adaptable arabirimi. Yeni özel sınıf olduğunu adaptTo için Kaynak etkinleştirmek istiyorsanızSling Resource için özel bir AdapterFactory nasıl uygulanır?</p> <pre><code>Page page = resource.adaptTo(Page.class); </code></pre> <p>Eğer yazar ve bu basitçe uygulanması için aşağı kaynar kontrol sınıfları ile bu sözdizimini kullanmak için:
Ancak, AdapterFactory arabirimini uygulayan ve OSGi içinde kaydettikten var gibi görünüyor.
Bu Adobe website bunu şöyle tarif etmektedir: keyfi nesneler haritalayabilirsiniz bir AdapterFactory, By
. Nesneler hala Adaptable arayüzünü uygulamak zorundadır ve SlingAdaptable'ı genişletmelidir (adaptasyon çağrısını merkezi bir adaptör yöneticisine iletir). Bu, kaynak gibi mevcut sınıfları için adaptTo mekanizması içine kanca sağlar.
SlingScriptAdapterFactory kodunu geçtim, ancak sonuçta burada noktaları birleştirmiyorum. Temelde ben bunu yapmak istiyorum:
MyClass myClass = Resource.adaptTo(MyClass.class);
Ben AdapterFactory uygulayan bir sınıf oluşturmak ve basit bir şekilde daha var Sling sadece tipine göre bulabilirsiniz ya edeceğini bekliyor paketi ile dağıtmak mı?
Bunu doğrulayabildim ve ihtiyacım olan şey buydu. Apache sitesindeki yorumların adaptörümü kaydettirmek için gerekli SCR ek açıklamalarını belirttiğini anlamamıştım [https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations. html] Şimdi sadece adaptör açıklama özelliğini, adaptörün desteklediği sınıfların bir koleksiyonu olarak nasıl ifade edeceğimi anlamaya ihtiyacım var. Teşekkürler! – jedatu