Rasgele bir nesne için nesnenin türünün Grails domain sınıfı olup olmadığını belirlemenin en kolay yolu nedir?Sınıfın Grails etki alanı nesnesi olup olmadığını nasıl belirlerim?
12
A
cevap
17
Bunun için GrailsApplication'ı kullanabilirsiniz. denetleyicisi veya hizmet için bir bağımlılık enjeksiyon ekleyin:
def grailsApplication
ve sonra bu gibi kullanabilirsiniz:
def foo = ...
if (grailsApplication.isDomainClass(foo.getClass()) {
...
}
1
DomainClassArtefactHandler.isDomainClass(clazz)
javadoc de şu pasajı burada : http://grails.org/doc/latest/api/org/codehaus/groovy/grails/commons/DomainClassArtefactHandler.html#isDomainClass(java.lang.Class)
Güzel cevap. Bu yöntem nereden geliyor? Javadoc'ta bulamıyorum: http://grails.org/doc/latest/api/org/codehaus/groovy/grails/commons/GrailsApplication.html –
Bu dinamik bir yöntemdir, yani Javadoc. Tüm eserler bu şekilde çalışır, örn. isServiceClass da çalışıyor. Ve bir eklenti bir eser eklerse, aynı zamanda çalışırdı, örn. Quartz eklentisi - Quartz yüklü ise isTaskClass çalışır. Bu yöntemler burada açıklanmaktadır: http://grails.org/doc/latest/guide/12.%20Plug-ins.html#12.5%20Evaluating%20Conventions –