1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <beans xmlns=
"http://www.springframework.org/schema/beans"
3 xmlns:
xsi=
"http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:
tx=
"http://www.springframework.org/schema/tx"
5 xmlns:
context=
"http://www.springframework.org/schema/context"
6 xsi:
schemaLocation=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
7 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
8 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
11 <bean id=
"genericApiCardinalityPropertyFilter" class=
"eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
12 <property name=
"includeToOneRelations" value=
"false" />
13 <property name=
"includeToManyRelations" value=
"false" />
14 <property name=
"exceptions">
17 the exceptions listed here should be covered by implementations of
18 eu.etaxonomy.cdm.persistence.dao.initializer.AutoPropertyInitializer.
19 The according configuration files are
20 - /cdmlib-persistence/src/main/resources/eu/etaxonomy/cdm/persistence_security.xml
21 - /cdmlib-persistence/src/main/resources/eu/etaxonomy/cdm/persistence.xml
22 whereas persistence.xml will be removed in the near future.
24 <value>FeatureTree.root
</value>
25 <value>FeatureNode.children
</value>
26 <value>FeatureNode.feature
</value>
28 <value>TreeNode.data
</value>
29 <value>TreeNode.data
</value>
31 <value>PolytomousKey.root
</value>
32 <value>PolytomousKeyNode.children
</value>
33 <value>PolytomousKeyNode.question
</value>
34 <value>PolytomousKeyNode.feature
</value>
35 <value>PolytomousKeyNode.statement
</value>
36 <value>PolytomousKeyNode.modifyingText
</value>
38 <value>LinkedPolytomousKeyNodeRowDto.childStatement
</value>
39 <value>LinkedPolytomousKeyNodeRowDto.rowQuestion
</value>
40 <value>LinkedPolytomousKeyNodeRowDto.rowFeature
</value>
41 <!-- value>LinkedPolytomousKeyNodeRowDto.keyNode</value-->
43 <value>Media.representations</value>
44 <value>MediaRepresentation.parts</value>
46 <value>Sequence.marker</value>
47 <value>Sequence.genBankAccessionNumber</value>
48 <value>Sequence.genBankUri</value>
50 <value>Annotation.annotationType</value>
51 <value>Marker.markerType</value>
53 <value>DerivationEvent.derivatives</value>
54 <value>DerivationEvent.originals</value>
56 <value>Point.referenceSystem</value>
58 <!-- CardinalityPropertyFilter should allow defining exceptions for abstract super classes : -->
59 <!-- <value>eu.etaxonomy.cdm.model.description.DescriptionElementBase.feature</value> -->
61 <value>Synonym.sec
</value>
62 <value>Taxon.sec
</value>
64 <value>StateData.state
</value>
65 <value>StateData.modifiers
</value>
66 <value>StateData.modifyingText
</value>
68 <value>TextData.feature
</value>
69 <value>CategoricalData.feature
</value>
70 <value>CommonTaxonName.feature
</value>
71 <value>Distribution.feature
</value>
72 <value>IndividualsAssociation.feature
</value>
73 <value>QuantitativeData.feature
</value>
74 <value>TaxonInteraction.feature
</value>
75 <value>TextData.feature
</value>
76 <value>IdentifiableSource.citation
</value>
78 <value>Registration.name
</value>
79 <value>Registration.typeDesignations
</value>
80 <value>Registration.institution
</value>
82 <value>SearchResult.entity
</value>
84 <value>CdmEntity.entity
</value>
89 <bean id=
"nameCatalogueApiCardinalityPropertyFilter" class=
"eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
90 <property name=
"includeToOneRelations" value=
"true" />
91 <property name=
"includeToManyRelations" value=
"true" />
92 <property name=
"exceptions">
99 =================================================
100 default configuration for RESTful read(/write) service
101 =================================================
103 <bean name=
"jsonConfig" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
105 <property name=
"jsonBeanProcessorMatcher">
107 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
109 <property name=
"defaultValueProcessorMatcher">
111 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
113 <property name=
"defaultValueProcessorMap">
115 <entry key=
"java.lang.Number">
117 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
121 <property name=
"jsonBeanProcessors">
123 <entry key=
"org.hibernate.proxy.HibernateProxy">
124 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
126 <entry key=
"eu.etaxonomy.cdm.model.term.TermBase">
127 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
128 <property name=
"excludes">
129 <set value-type=
"java.lang.String">
130 <value>partOf
</value><!-- FIXME exclude partOf to avoid lazy loading exceptions -->
131 <value>kindOf
</value><!-- FIXME exclude kindOf to avoid lazy loading exceptions -->
132 <value>infraGenericMarker
</value><!-- FIXME leads to IllegalStateException if not excluded -->
137 <entry key=
"eu.etaxonomy.cdm.model.term.Representation">
138 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.RepresentationBeanProcessor"/>
140 <entry key=
"eu.etaxonomy.cdm.model.media.Media">
141 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
142 <property name=
"replaceTitle" value=
"true" />
143 <property name=
"replaceDescription" value=
"true" />
146 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonNode">
147 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
149 <entry key=
"eu.etaxonomy.cdm.model.reference.Reference">
150 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
152 <entry key=
"eu.etaxonomy.cdm.model.name.TaxonName">
154 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
155 <property name=
"skipTaggedName" value=
"true" />
158 <entry key=
"eu.etaxonomy.cdm.model.name.TypeDesignationBase">
159 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>
161 <entry key=
"eu.etaxonomy.cdm.model.description.KeyStatement">
162 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
164 <entry key=
"eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
165 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
167 <entry key=
"eu.etaxonomy.cdm.model.description.DescriptionElementBase">
168 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor" />
170 <entry key=
"eu.etaxonomy.cdm.model.description.StateData">
171 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor" />
173 <entry key=
"org.apache.lucene.document.Document">
174 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
178 <property name=
"jsonPropertyFilter">
179 <bean class=
"net.sf.json.filters.OrPropertyFilter">
181 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
183 <constructor-arg ref=
"genericApiCardinalityPropertyFilter">
187 <property name=
"jsonValueProcessorsByClass">
189 <entry key=
"org.hibernate.proxy.HibernateProxy">
191 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
193 <entry key=
"java.util.UUID">
195 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
197 <entry key=
"org.joda.time.DateTime">
199 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
201 <entry key=
"java.util.Calendar">
203 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
205 <entry key=
"org.joda.time.Partial">
207 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
209 <entry key=
"java.lang.Class">
211 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
213 <entry key=
"java.util.Map">
214 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
216 <entry key=
"java.util.LinkedHashMap">
217 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
219 <entry key=
"eu.etaxonomy.cdm.api.service.name.TypeDesignationSetManager.TypeDesignationWorkingSet">
220 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
222 <entry key=
"java.net.URI">
223 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
227 <property name=
"ignoreDefaultExcludes" value=
"true" />
228 <property name=
"excludes">
229 <list value-type=
"java.lang.String">
230 <value>declaringClass
</value><!-- DefaultExclude -->
231 <value>metaClass
</value><!-- DefaultExclude -->
233 <value>cacheStrategy
</value>
234 <value>createdBy
</value>
235 <value>updatedBy
</value>
241 =================================================
242 configuration for RESTful classification service
243 =================================================
245 <bean name=
"jsonConfigClassification" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
247 <property name=
"jsonBeanProcessorMatcher">
249 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
251 <property name=
"jsonBeanProcessors">
253 <entry key=
"org.hibernate.proxy.HibernateProxy">
255 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
257 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonNode">
259 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
263 <property name=
"jsonPropertyFilter">
264 <bean class=
"net.sf.json.filters.OrPropertyFilter">
266 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
268 <constructor-arg ref=
"genericApiCardinalityPropertyFilter">
272 <property name=
"jsonValueProcessorsByClass">
274 <entry key=
"org.hibernate.proxy.HibernateProxy">
276 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
278 <entry key=
"java.util.UUID">
280 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
282 <entry key=
"org.joda.time.DateTime">
284 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
286 <entry key=
"java.util.Calendar">
288 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
290 <entry key=
"org.joda.time.Partial">
292 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
294 <entry key=
"java.lang.Class">
296 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
298 <entry key=
"java.util.Map">
299 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
301 <entry key=
"java.net.URI">
302 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
306 <property name=
"ignoreDefaultExcludes" value=
"true" />
307 <property name=
"excludes">
308 <list value-type=
"java.lang.String">
309 <value>declaringClass
</value><!-- DefaultExclude -->
310 <value>metaClass
</value><!-- DefaultExclude -->
312 <value>cacheStrategy
</value>
313 <value>createdBy
</value>
314 <value>updatedBy
</value>
320 =================================================
321 configuration for RESTful portal service
322 =================================================
325 <bean name=
"jsonConfigPortal" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
327 <property name=
"jsonBeanProcessorMatcher">
329 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
331 <property name=
"defaultValueProcessorMatcher">
333 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
335 <property name=
"defaultValueProcessorMap">
337 <entry key=
"java.lang.Number">
339 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
343 <property name=
"jsonBeanProcessors">
345 <entry key=
"org.hibernate.proxy.HibernateProxy">
347 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
349 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonBase">
350 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBaseBeanProcessor">
351 <property name=
"excludes">
352 <set value-type=
"java.lang.String">
353 <value>acceptedTaxon
</value><!-- #6211 to avoid infinite loops in the synonymy -->
358 <entry key=
"eu.etaxonomy.cdm.model.name.TaxonName">
360 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor" />
362 <entry key=
"eu.etaxonomy.cdm.model.name.NameRelationship">
364 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
366 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
368 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
370 <entry key=
"eu.etaxonomy.cdm.model.term.TermBase">
372 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
373 <property name=
"replaceRepresentations" value=
"true" />
374 <property name=
"excludes">
375 <set value-type=
"java.lang.String">
376 <value>infraGenericMarker
</value><!-- FIXME leads to IllegalStateException if not excluded -->
377 <value>partOf
</value><!-- DefinedTermBase -->
378 <value>kindOf
</value><!-- DefinedTermBase -->
379 <value>includes
</value><!-- DefinedTermBase -->
380 <value>generalizationOf
</value><!-- DefinedTermBase -->
381 <value>vocabulary
</value><!-- DefinedTermBase -->
383 FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
384 avoid class cast or lazy loading exceptions in TDWG Areas
390 <entry key=
"eu.etaxonomy.cdm.model.media.Media">
391 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
392 <property name=
"replaceTitle" value=
"true" />
393 <property name=
"replaceDescription" value=
"true" />
396 <entry key=
"eu.etaxonomy.cdm.model.reference.Reference">
397 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
399 <entry key=
"eu.etaxonomy.cdm.model.description.TaxonNameDescription">
400 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameDescriptionBeanProcessor">
401 <property name=
"excludes">
402 <set value-type=
"java.lang.String">
403 <value>taxonName
</value>
408 <entry key=
"eu.etaxonomy.cdm.api.facade.DerivedUnitFacade">
409 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.DerivedUnitFacadeBeanProcessor"/>
411 <entry key=
"eu.etaxonomy.cdm.model.location.Point">
412 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
414 <entry key=
"eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
415 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
417 <entry key=
"org.apache.lucene.document.Document">
418 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
420 <entry key=
"eu.etaxonomy.cdm.common.TreeNode">
421 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TreeNodeBeanProcessor" />
423 <entry key=
"eu.etaxonomy.cdm.model.description.DescriptionElementBase">
424 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor">
425 <property name=
"replaceMultilanguageText" value=
"true" />
428 <entry key=
"eu.etaxonomy.cdm.model.description.StateData">
429 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor">
430 <property name=
"replaceMultilanguageText" value=
"true" />
435 <property name=
"jsonPropertyFilter">
436 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
438 <property name=
"jsonValueProcessorsByClass">
440 <entry key=
"org.hibernate.proxy.HibernateProxy">
442 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
444 <entry key=
"java.util.UUID">
446 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
448 <entry key=
"org.joda.time.DateTime">
450 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
452 <entry key=
"java.util.Calendar">
454 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
456 <entry key=
"org.joda.time.Partial">
458 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
460 <entry key=
"java.lang.Class">
462 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
464 <entry key=
"java.util.Map">
465 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
467 <entry key=
"java.net.URI">
468 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
472 <property name=
"ignoreDefaultExcludes" value=
"true" />
473 <property name=
"excludes">
474 <list value-type=
"java.lang.String">
475 <value>declaringClass
</value><!-- DefaultExclude -->
476 <value>metaClass
</value><!-- DefaultExclude -->
480 see #3347 (services and REST service controller for molecular classes implemented)
481 <value>annotations</value>
482 <value>markers</value>
484 <value>cacheStrategy
</value>
485 <value>createdBy
</value>
486 <value>updatedBy
</value>
487 <value>inDescription
</value>
493 =================================================
494 default configuration name catalogue service
495 =================================================
497 <bean name=
"nameCatalogueJsonConfig" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
499 <property name=
"jsonPropertyFilter">
500 <bean class=
"net.sf.json.filters.OrPropertyFilter">
502 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
504 <constructor-arg ref=
"nameCatalogueApiCardinalityPropertyFilter">
508 <property name=
"jsonValueProcessorsByClass">
510 <entry key=
"org.hibernate.proxy.HibernateProxy">
512 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
514 <entry key=
"java.util.UUID">
516 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
518 <entry key=
"org.joda.time.DateTime">
520 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
522 <entry key=
"java.util.Calendar">
524 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
526 <entry key=
"org.joda.time.Partial">
528 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
530 <entry key=
"java.util.Map">
531 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
533 <entry key=
"java.net.URI">
534 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
539 <property name=
"ignoreDefaultExcludes" value=
"true" />
540 <property name=
"excludes">
541 <list value-type=
"java.lang.String">
543 <value>declaringClass
</value><!-- DefaultExclude -->
544 <value>metaClass
</value><!-- DefaultExclude -->
546 <value>cacheStrategy
</value>
547 <value>createdBy
</value>
548 <value>updatedBy
</value>
553 <bean name=
"occurrenceCatalogueJsonConfig" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
555 <property name=
"jsonPropertyFilter">
556 <bean class=
"net.sf.json.filters.OrPropertyFilter">
558 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
560 <constructor-arg ref=
"nameCatalogueApiCardinalityPropertyFilter">
564 <property name=
"jsonValueProcessorsByClass">
566 <entry key=
"org.hibernate.proxy.HibernateProxy">
568 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
570 <entry key=
"java.util.UUID">
572 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
574 <entry key=
"org.joda.time.DateTime">
576 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
578 <entry key=
"java.util.Calendar">
580 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
582 <entry key=
"org.joda.time.Partial">
584 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
586 <entry key=
"java.util.Map">
587 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
589 <entry key=
"java.net.URI">
590 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
595 <property name=
"ignoreDefaultExcludes" value=
"true" />
596 <property name=
"excludes">
597 <list value-type=
"java.lang.String">
599 <value>declaringClass
</value><!-- DefaultExclude -->
600 <value>metaClass
</value><!-- DefaultExclude -->
602 <value>cacheStrategy
</value>
603 <value>createdBy
</value>
604 <value>updatedBy
</value>