@sitevision/api 2.0.0-alpha.1 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/index.d.ts +8 -0
  2. package/package.json +1 -1
  3. package/server/AliasUtil/index.d.ts +13 -11
  4. package/server/ArchiveUtil/index.d.ts +45 -43
  5. package/server/ArraysInstance/index.d.ts +1667 -1808
  6. package/server/ArticleUtil/index.d.ts +294 -226
  7. package/server/AuthenticationUtil/index.d.ts +73 -85
  8. package/server/BookmarkUtil/index.d.ts +76 -81
  9. package/server/BuddyIconRenderer/index.d.ts +124 -132
  10. package/server/BuddyIconRenderer.BuddyIconSize/index.d.ts +41 -0
  11. package/server/BuddyIconRenderer.BuddyIconSize/index.js +25 -0
  12. package/server/ClientUtil/index.d.ts +11 -9
  13. package/server/CollaborationFactory/index.d.ts +37 -40
  14. package/server/CollaborationGroupFolderUtil/index.d.ts +30 -28
  15. package/server/CollaborationGroupState/index.d.ts +27 -0
  16. package/server/CollaborationGroupState/index.js +11 -0
  17. package/server/CollaborationGroupTemplateUtil/index.d.ts +48 -50
  18. package/server/CollaborationGroupType/index.d.ts +28 -0
  19. package/server/CollaborationGroupType/index.js +12 -0
  20. package/server/CollaborationGroupUtil/index.d.ts +86 -82
  21. package/server/CollectionsInstance/index.d.ts +642 -705
  22. package/server/ColorUtil/index.d.ts +36 -37
  23. package/server/CompoundAndFilterBuilder/index.d.ts +31 -29
  24. package/server/CompoundComparatorBuilder/index.d.ts +35 -33
  25. package/server/CompoundOrFilterBuilder/index.d.ts +31 -29
  26. package/server/ContentNodeUtil/index.d.ts +36 -34
  27. package/server/CurrencyFactory/index.d.ts +72 -70
  28. package/server/DateUtil/index.d.ts +132 -142
  29. package/server/DecorationUtil/index.d.ts +13 -11
  30. package/server/DeviceUtil/index.d.ts +21 -19
  31. package/server/DimensionMode/index.d.ts +17 -0
  32. package/server/DimensionMode/index.js +12 -0
  33. package/server/DirectoryUtil/index.d.ts +90 -88
  34. package/server/DocType/index.d.ts +30 -0
  35. package/server/DocType/index.js +14 -0
  36. package/server/DocTypeUtil/index.d.ts +129 -135
  37. package/server/EndecUtil/index.d.ts +330 -347
  38. package/server/ExtendedDismaxParserBuilder/index.d.ts +156 -170
  39. package/server/FileIconRenderer/index.d.ts +153 -172
  40. package/server/FileUtil/index.d.ts +274 -300
  41. package/server/FilterBuilder/index.d.ts +42 -40
  42. package/server/FolderUtil/index.d.ts +93 -94
  43. package/server/FontUtil/index.d.ts +36 -37
  44. package/server/FormatterBuilderFactory/index.d.ts +76 -84
  45. package/server/HighlightBuilder/index.d.ts +79 -86
  46. package/server/IconUtil/index.d.ts +27 -25
  47. package/server/ImageLinkRenderer/index.d.ts +34 -32
  48. package/server/ImageRenderer/index.d.ts +343 -379
  49. package/server/ImageUtil/index.d.ts +247 -265
  50. package/server/IndexUtil/index.d.ts +40 -37
  51. package/server/IndexUtil.IndexType/index.d.ts +29 -0
  52. package/server/IndexUtil.IndexType/index.js +13 -0
  53. package/server/IndexingUtil/index.d.ts +69 -47
  54. package/server/InstanceCreatorUtil/index.d.ts +421 -457
  55. package/server/InstanceTypeUtil/index.d.ts +168 -189
  56. package/server/JwtUtil/index.d.ts +131 -129
  57. package/server/LandingPageUtil/index.d.ts +84 -87
  58. package/server/LandingPageUtil/index.js +1 -0
  59. package/server/LinkPageUtil/index.d.ts +297 -251
  60. package/server/LinkRenderer/index.d.ts +651 -715
  61. package/server/LinkTargetBuilder/index.d.ts +69 -77
  62. package/server/LinkValueBuilder/index.d.ts +70 -77
  63. package/server/ListWrapper/index.d.ts +82 -91
  64. package/server/LocaleUtil/index.d.ts +382 -394
  65. package/server/LogUtil/index.d.ts +119 -128
  66. package/server/MailBuilder/index.d.ts +109 -124
  67. package/server/MailUtil/index.d.ts +58 -63
  68. package/server/MathInstance/index.d.ts +625 -657
  69. package/server/MessageDigesterFactory/index.d.ts +30 -28
  70. package/server/MetadataDefinitionUtil/index.d.ts +79 -83
  71. package/server/MetadataUtil/index.d.ts +322 -346
  72. package/server/MimeTypeUtil/index.d.ts +209 -215
  73. package/server/MonitorBuilder/index.d.ts +20 -20
  74. package/server/NodeComparatorUtil/index.d.ts +215 -225
  75. package/server/NodeFactoryUtil/index.d.ts +18 -16
  76. package/server/NodeFilterUtil/index.d.ts +652 -739
  77. package/server/NodeIteratorUtil/index.d.ts +214 -229
  78. package/server/NodeResolverUtil/index.d.ts +400 -406
  79. package/server/NodeTreeUtil/index.d.ts +214 -229
  80. package/server/NodeTypeUtil/index.d.ts +1432 -548
  81. package/server/OfflineVersionPropertyUtil/index.d.ts +8 -6
  82. package/server/OnlineVersionPropertyUtil/index.d.ts +8 -6
  83. package/server/OutputUtil/index.d.ts +385 -380
  84. package/server/PageUtil/index.d.ts +266 -188
  85. package/server/PermissionUtil/index.d.ts +393 -430
  86. package/server/PermissionUtil.Permission/index.d.ts +54 -0
  87. package/server/PermissionUtil.Permission/index.js +38 -0
  88. package/server/PortletContextUtil/index.d.ts +112 -107
  89. package/server/PortletUtil/index.d.ts +32 -22
  90. package/server/PrincipalUtil/index.d.ts +35 -33
  91. package/server/Properties/index.d.ts +69 -76
  92. package/server/PropertyUtil/index.d.ts +1422 -1464
  93. package/server/PublishingUtil/index.d.ts +248 -249
  94. package/server/QueryStringUtil/index.d.ts +404 -415
  95. package/server/RedirectUtil/index.d.ts +64 -68
  96. package/server/RelatedValueBuilder/index.d.ts +45 -43
  97. package/server/Requester/index.d.ts +125 -125
  98. package/server/ResourceLocatorUtil/index.d.ts +436 -476
  99. package/server/RestApi/index.d.ts +158 -138
  100. package/server/RestAppInvokerFactory/index.d.ts +28 -26
  101. package/server/RoleAssignmentBuilder/index.d.ts +39 -37
  102. package/server/RoleMatcherBuilder/index.d.ts +39 -37
  103. package/server/RoleUtil/index.d.ts +35 -37
  104. package/server/ScriptUtil/index.d.ts +458 -495
  105. package/server/SearchFactory/index.d.ts +90 -105
  106. package/server/SearchUtil/index.d.ts +75 -73
  107. package/server/SearcherBuilder/index.d.ts +117 -124
  108. package/server/Session/index.d.ts +261 -1103
  109. package/server/Session/index.js +1 -20
  110. package/server/SimpleUserUtil/index.d.ts +28 -29
  111. package/server/SiteCookieUtil/index.d.ts +152 -175
  112. package/server/SortBuilder/index.d.ts +27 -25
  113. package/server/SourceSetMode/index.d.ts +12 -0
  114. package/server/SourceSetMode/index.js +12 -0
  115. package/server/SpellCheckBuilder/index.d.ts +30 -30
  116. package/server/StandardParserBuilder/index.d.ts +36 -34
  117. package/server/StructureUtil/index.d.ts +85 -83
  118. package/server/SubscriberUtil/index.d.ts +60 -67
  119. package/server/SubscriptionUtil/index.d.ts +123 -130
  120. package/server/SystemUserUtil/index.d.ts +148 -146
  121. package/server/TagUtil/index.d.ts +115 -120
  122. package/server/TemplateUtil/index.d.ts +115 -120
  123. package/server/TemporaryFileNodeBuilder/index.d.ts +32 -30
  124. package/server/TemporaryNodeBuilder/index.d.ts +139 -177
  125. package/server/TextModuleRendererBuilder/index.d.ts +22 -20
  126. package/server/TimestampUtil/index.d.ts +103 -117
  127. package/server/TranslationUtil/index.d.ts +98 -104
  128. package/server/TrashcanUtil/index.d.ts +114 -117
  129. package/server/UserDataUtil/index.d.ts +110 -111
  130. package/server/UserFactory/index.d.ts +47 -54
  131. package/server/UserFieldRenderer/index.d.ts +120 -128
  132. package/server/UserIdentityUtil/index.d.ts +38 -36
  133. package/server/UserUtil/index.d.ts +32 -30
  134. package/server/Utils/index.d.ts +634 -723
  135. package/server/VelocityRenderer/index.d.ts +96 -94
  136. package/server/VersionUtil/index.d.ts +25 -9
  137. package/server/WebContentUtil/index.d.ts +277 -284
  138. package/server/WebResourceFactory/index.d.ts +41 -46
  139. package/server/XSLTUtil/index.d.ts +34 -32
  140. package/server/XmlParserUtil/index.d.ts +50 -48
  141. package/types/javax/jcr/Binary/index.d.ts +3 -21
  142. package/types/javax/jcr/Binary/index.js +0 -1
  143. package/types/javax/jcr/Credentials/index.d.ts +3 -1
  144. package/types/javax/jcr/ImportUUIDBehavior/index.d.ts +27 -1
  145. package/types/javax/jcr/Item/index.d.ts +6 -119
  146. package/types/javax/jcr/Item/index.js +0 -6
  147. package/types/javax/jcr/ItemVisitor/index.d.ts +5 -3
  148. package/types/javax/jcr/NamespaceRegistry/index.d.ts +69 -43
  149. package/types/javax/jcr/NamespaceRegistry/index.js +0 -2
  150. package/types/javax/jcr/Node/index.d.ts +37 -1506
  151. package/types/javax/jcr/Node/index.js +1 -34
  152. package/types/javax/jcr/NodeIterator/index.d.ts +5 -3
  153. package/types/javax/jcr/Property/index.d.ts +494 -494
  154. package/types/javax/jcr/Property/index.js +0 -5
  155. package/types/javax/jcr/PropertyIterator/index.d.ts +5 -3
  156. package/types/javax/jcr/RangeIterator/index.d.ts +2 -42
  157. package/types/javax/jcr/RangeIterator/index.js +1 -5
  158. package/types/javax/jcr/Repository/index.d.ts +465 -263
  159. package/types/javax/jcr/Repository/index.js +0 -4
  160. package/types/javax/jcr/RepositoryFactory/index.d.ts +4 -2
  161. package/types/javax/jcr/Value/index.d.ts +4 -31
  162. package/types/javax/jcr/Value/index.js +0 -2
  163. package/types/javax/jcr/ValueFactory/index.d.ts +6 -74
  164. package/types/javax/jcr/ValueFactory/index.js +1 -2
  165. package/types/javax/jcr/Workspace/index.d.ts +103 -577
  166. package/types/javax/jcr/Workspace/index.js +1 -12
  167. package/types/javax/jcr/lock/Lock/index.d.ts +4 -2
  168. package/types/javax/jcr/lock/LockManager/index.d.ts +4 -2
  169. package/types/javax/jcr/nodetype/ItemDefinition/index.d.ts +4 -105
  170. package/types/javax/jcr/nodetype/ItemDefinition/index.js +0 -5
  171. package/types/javax/jcr/nodetype/NodeDefinition/index.d.ts +5 -3
  172. package/types/javax/jcr/nodetype/NodeDefinitionTemplate/index.d.ts +4 -2
  173. package/types/javax/jcr/nodetype/NodeType/index.d.ts +262 -269
  174. package/types/javax/jcr/nodetype/NodeType/index.js +1 -12
  175. package/types/javax/jcr/nodetype/NodeTypeDefinition/index.d.ts +5 -107
  176. package/types/javax/jcr/nodetype/NodeTypeDefinition/index.js +1 -7
  177. package/types/javax/jcr/nodetype/NodeTypeIterator/index.d.ts +5 -3
  178. package/types/javax/jcr/nodetype/NodeTypeManager/index.d.ts +9 -130
  179. package/types/javax/jcr/nodetype/NodeTypeManager/index.js +1 -8
  180. package/types/javax/jcr/nodetype/NodeTypeTemplate/index.d.ts +4 -2
  181. package/types/javax/jcr/nodetype/PropertyDefinition/index.d.ts +5 -272
  182. package/types/javax/jcr/nodetype/PropertyDefinition/index.js +1 -7
  183. package/types/javax/jcr/nodetype/PropertyDefinitionTemplate/index.d.ts +5 -3
  184. package/types/javax/jcr/observation/Event/index.d.ts +85 -42
  185. package/types/javax/jcr/observation/EventIterator/index.d.ts +5 -3
  186. package/types/javax/jcr/observation/EventJournal/index.d.ts +4 -2
  187. package/types/javax/jcr/observation/EventListener/index.d.ts +4 -2
  188. package/types/javax/jcr/observation/EventListenerIterator/index.d.ts +5 -3
  189. package/types/javax/jcr/observation/ObservationManager/index.d.ts +6 -4
  190. package/types/javax/jcr/query/Query/index.d.ts +35 -12
  191. package/types/javax/jcr/query/QueryManager/index.d.ts +6 -4
  192. package/types/javax/jcr/query/QueryResult/index.d.ts +5 -3
  193. package/types/javax/jcr/query/Row/index.d.ts +5 -3
  194. package/types/javax/jcr/query/RowIterator/index.d.ts +5 -3
  195. package/types/javax/jcr/query/qom/And/index.d.ts +4 -2
  196. package/types/javax/jcr/query/qom/BindVariableValue/index.d.ts +4 -2
  197. package/types/javax/jcr/query/qom/ChildNode/index.d.ts +4 -2
  198. package/types/javax/jcr/query/qom/ChildNodeJoinCondition/index.d.ts +4 -2
  199. package/types/javax/jcr/query/qom/Column/index.d.ts +3 -1
  200. package/types/javax/jcr/query/qom/Comparison/index.d.ts +6 -4
  201. package/types/javax/jcr/query/qom/Constraint/index.d.ts +3 -1
  202. package/types/javax/jcr/query/qom/DescendantNode/index.d.ts +4 -2
  203. package/types/javax/jcr/query/qom/DescendantNodeJoinCondition/index.d.ts +4 -2
  204. package/types/javax/jcr/query/qom/DynamicOperand/index.d.ts +4 -2
  205. package/types/javax/jcr/query/qom/EquiJoinCondition/index.d.ts +4 -2
  206. package/types/javax/jcr/query/qom/FullTextSearch/index.d.ts +5 -3
  207. package/types/javax/jcr/query/qom/FullTextSearchScore/index.d.ts +4 -2
  208. package/types/javax/jcr/query/qom/Join/index.d.ts +5 -3
  209. package/types/javax/jcr/query/qom/JoinCondition/index.d.ts +3 -1
  210. package/types/javax/jcr/query/qom/Length/index.d.ts +5 -3
  211. package/types/javax/jcr/query/qom/Literal/index.d.ts +5 -3
  212. package/types/javax/jcr/query/qom/LowerCase/index.d.ts +4 -2
  213. package/types/javax/jcr/query/qom/NodeLocalName/index.d.ts +4 -2
  214. package/types/javax/jcr/query/qom/NodeName/index.d.ts +4 -2
  215. package/types/javax/jcr/query/qom/Not/index.d.ts +4 -2
  216. package/types/javax/jcr/query/qom/Operand/index.d.ts +3 -1
  217. package/types/javax/jcr/query/qom/Or/index.d.ts +4 -2
  218. package/types/javax/jcr/query/qom/Ordering/index.d.ts +4 -2
  219. package/types/javax/jcr/query/qom/PropertyExistence/index.d.ts +4 -2
  220. package/types/javax/jcr/query/qom/PropertyValue/index.d.ts +4 -2
  221. package/types/javax/jcr/query/qom/QueryObjectModel/index.d.ts +8 -6
  222. package/types/javax/jcr/query/qom/QueryObjectModelConstants/index.d.ts +76 -2
  223. package/types/javax/jcr/query/qom/QueryObjectModelFactory/index.d.ts +37 -35
  224. package/types/javax/jcr/query/qom/SameNode/index.d.ts +4 -2
  225. package/types/javax/jcr/query/qom/SameNodeJoinCondition/index.d.ts +4 -2
  226. package/types/javax/jcr/query/qom/Selector/index.d.ts +4 -2
  227. package/types/javax/jcr/query/qom/Source/index.d.ts +3 -1
  228. package/types/javax/jcr/query/qom/StaticOperand/index.d.ts +4 -2
  229. package/types/javax/jcr/query/qom/UpperCase/index.d.ts +4 -2
  230. package/types/javax/jcr/retention/Hold/index.d.ts +3 -1
  231. package/types/javax/jcr/retention/RetentionManager/index.d.ts +5 -3
  232. package/types/javax/jcr/retention/RetentionPolicy/index.d.ts +3 -1
  233. package/types/javax/jcr/security/AccessControlEntry/index.d.ts +4 -2
  234. package/types/javax/jcr/security/AccessControlList/index.d.ts +6 -4
  235. package/types/javax/jcr/security/AccessControlManager/index.d.ts +6 -4
  236. package/types/javax/jcr/security/AccessControlPolicy/index.d.ts +3 -1
  237. package/types/javax/jcr/security/AccessControlPolicyIterator/index.d.ts +5 -3
  238. package/types/javax/jcr/security/NamedAccessControlPolicy/index.d.ts +4 -2
  239. package/types/javax/jcr/security/Privilege/index.d.ts +130 -44
  240. package/types/javax/jcr/version/Version/index.d.ts +5 -3
  241. package/types/javax/jcr/version/VersionHistory/index.d.ts +7 -5
  242. package/types/javax/jcr/version/VersionIterator/index.d.ts +5 -3
  243. package/types/javax/jcr/version/VersionManager/index.d.ts +7 -5
  244. package/types/senselogic/sitevision/api/base/Builder/index.d.ts +3 -1
  245. package/types/senselogic/sitevision/api/base/Filter/index.d.ts +3 -1
  246. package/types/senselogic/sitevision/api/base/FilterSplit/index.d.ts +4 -2
  247. package/types/senselogic/sitevision/api/base/Loadable/index.d.ts +3 -1
  248. package/types/senselogic/sitevision/api/base/Requireable/ScriptEngine/index.d.ts +9 -0
  249. package/types/senselogic/sitevision/api/base/Requireable/ScriptEngine/index.js +11 -0
  250. package/types/senselogic/sitevision/api/base/Resolver/index.d.ts +3 -1
  251. package/types/senselogic/sitevision/api/base/Wrapper/index.d.ts +3 -1
  252. package/types/senselogic/sitevision/api/collaboration/CollaborationGroupWrapper/index.d.ts +13 -7
  253. package/types/senselogic/sitevision/api/format/NumericFormatter/index.d.ts +3 -1
  254. package/types/senselogic/sitevision/api/format/NumericFormatterBuilder/index.d.ts +5 -3
  255. package/types/senselogic/sitevision/api/i18n/Currency/index.d.ts +3 -1
  256. package/types/senselogic/sitevision/api/link/CustomLinkProcessor/index.d.ts +5 -3
  257. package/types/senselogic/sitevision/api/link/CustomLinkRenderData/index.d.ts +3 -1
  258. package/types/senselogic/sitevision/api/mail/Mail/index.d.ts +3 -1
  259. package/types/senselogic/sitevision/api/message/MessageTextLinker/index.d.ts +3 -1
  260. package/types/senselogic/sitevision/api/metadata/value/LinkValue/index.d.ts +3 -1
  261. package/types/senselogic/sitevision/api/metadata/value/RelatedValue/index.d.ts +3 -1
  262. package/types/senselogic/sitevision/api/property/VersionedPropertyUtil/index.d.ts +4 -2
  263. package/types/senselogic/sitevision/api/render/BuddyIconRenderer.BuddyIconInfo/index.d.ts +51 -0
  264. package/types/senselogic/sitevision/api/render/BuddyIconRenderer.BuddyIconInfo/index.js +12 -0
  265. package/types/senselogic/sitevision/api/render/ImageScaler/index.d.ts +4 -2
  266. package/types/senselogic/sitevision/api/render/TextModuleRenderer/index.d.ts +4 -2
  267. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess/index.d.ts +3 -1
  268. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ArticleUtilConstants/index.d.ts +85 -0
  269. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ArticleUtilConstants/index.js +21 -0
  270. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ExceptionSuppressingProxyConstants/index.d.ts +31 -0
  271. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ExceptionSuppressingProxyConstants/index.js +12 -0
  272. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.IndexingUtilConstants/index.d.ts +31 -0
  273. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.IndexingUtilConstants/index.js +12 -0
  274. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.LinkPageUtilConstants/index.d.ts +67 -0
  275. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.LinkPageUtilConstants/index.js +18 -0
  276. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MathInstanceConstants/index.d.ts +25 -0
  277. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MathInstanceConstants/index.js +11 -0
  278. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MimeTypeUtilConstants/index.d.ts +19 -0
  279. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MimeTypeUtilConstants/index.js +10 -0
  280. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.NodeTypeUtilConstants/index.d.ts +1243 -0
  281. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.NodeTypeUtilConstants/index.js +189 -0
  282. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.OutputUtilConstants/index.d.ts +31 -0
  283. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.OutputUtilConstants/index.js +12 -0
  284. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PageUtilConstants/index.d.ts +91 -0
  285. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PageUtilConstants/index.js +22 -0
  286. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletContextUtilConstants/index.d.ts +27 -0
  287. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletContextUtilConstants/index.js +11 -0
  288. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletUtilConstants/index.d.ts +19 -0
  289. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletUtilConstants/index.js +10 -0
  290. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.QueryStringUtilConstants/index.d.ts +19 -0
  291. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.QueryStringUtilConstants/index.js +10 -0
  292. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchHitConstants/index.d.ts +25 -0
  293. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchHitConstants/index.js +11 -0
  294. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchResultConstants/index.d.ts +37 -0
  295. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchResultConstants/index.js +13 -0
  296. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.VersionUtilConstants/index.d.ts +25 -0
  297. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.VersionUtilConstants/index.js +11 -0
  298. package/types/senselogic/sitevision/api/render/velocity/VelocityContext/index.d.ts +3 -1
  299. package/types/senselogic/sitevision/api/render/velocity/VelocityEvaluator/index.d.ts +3 -1
  300. package/types/senselogic/sitevision/api/script/RequesterChainable/index.d.ts +4 -2
  301. package/types/senselogic/sitevision/api/script/app/RestAppInvoker/index.d.ts +3 -1
  302. package/types/senselogic/sitevision/api/script/factory/TypedArgument/index.d.ts +3 -1
  303. package/types/senselogic/sitevision/api/script/proxy/ExceptionSuppressingCollection/index.d.ts +3 -1
  304. package/types/senselogic/sitevision/api/script/proxy/ExceptionSuppressingIterator/index.d.ts +4 -2
  305. package/types/senselogic/sitevision/api/script/proxy/ExceptionSuppressingProxy/index.d.ts +24 -2
  306. package/types/senselogic/sitevision/api/search/SearchFieldUtil/index.d.ts +3 -1
  307. package/types/senselogic/sitevision/api/search/SearchHighlighter/index.d.ts +4 -2
  308. package/types/senselogic/sitevision/api/search/SearchHit/index.d.ts +19 -3
  309. package/types/senselogic/sitevision/api/search/SearchResult/index.d.ts +31 -7
  310. package/types/senselogic/sitevision/api/search/facet/SearchFacetField/index.d.ts +3 -1
  311. package/types/senselogic/sitevision/api/search/facet/SearchFacetValue/index.d.ts +3 -1
  312. package/types/senselogic/sitevision/api/search/searcher/Searcher/index.d.ts +4 -2
  313. package/types/senselogic/sitevision/api/search/searcher/component/Filter/index.d.ts +3 -1
  314. package/types/senselogic/sitevision/api/search/searcher/component/Highlight/index.d.ts +3 -1
  315. package/types/senselogic/sitevision/api/search/searcher/component/Monitor/index.d.ts +3 -1
  316. package/types/senselogic/sitevision/api/search/searcher/component/Parser/index.d.ts +3 -1
  317. package/types/senselogic/sitevision/api/search/searcher/component/Sort/index.d.ts +3 -1
  318. package/types/senselogic/sitevision/api/search/searcher/component/SpellCheck/index.d.ts +3 -1
  319. package/types/senselogic/sitevision/api/search/sort/CustomSort/index.d.ts +3 -1
  320. package/types/senselogic/sitevision/api/search/suggestion/SearchSuggestion/index.d.ts +3 -1
  321. package/types/senselogic/sitevision/api/security/DirectoryAttributes/index.d.ts +3 -1
  322. package/types/senselogic/sitevision/api/security/MessageDigester/index.d.ts +3 -1
  323. package/types/senselogic/sitevision/api/security/RoleAssignment/index.d.ts +4 -2
  324. package/types/senselogic/sitevision/api/security/RoleMatcher/index.d.ts +4 -2
  325. package/types/senselogic/sitevision/api/security/SecretStore/index.d.ts +3 -1
  326. package/types/senselogic/sitevision/api/security/UserUtil/index.d.ts +4 -2
  327. package/types/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilter/index.d.ts +35 -3
  328. package/types/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilterChain/index.d.ts +3 -1
  329. package/types/senselogic/sitevision/api/user/UserIdentityWrapper/index.d.ts +5 -3
  330. package/types/senselogic/sitevision/api/webresource/LinkTarget/index.d.ts +3 -1
  331. package/types/senselogic/sitevision/api/xml/XmlElement/index.d.ts +3 -1
  332. package/types/senselogic/sitevision/api/xml/XmlElementHandler/index.d.ts +4 -2
@@ -1,1441 +1,6 @@
1
- import type { Node } from "../../types/javax/jcr/Node";
1
+ import type Node from "../../types/javax/jcr/Node";
2
2
 
3
- import type { Binary } from "../../types/javax/jcr/Binary";
4
-
5
- /**
6
- * Gets a String property from a "nested" Node's property.
7
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code> has a
8
- * <code>String</code> property).
9
- *
10
- * <p>
11
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
12
- * Illegal characters in node names and property names must always be escaped, typically via
13
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
14
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
15
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
16
- * (e.g. metadata properties) might contain illegal characters.
17
- * </p>
18
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
19
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
20
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
21
- * @return the value for aPropertyName as <code>String</code>. If no property exists, <code>null</code> is returned.
22
- * @see #getNestedStringEscaped(javax.jcr.Node, String, String)
23
- */
24
- export function getNestedString(
25
- aNode: Node,
26
- aNodePropertyName: string,
27
- aPropertyName: string
28
- ): string;
29
-
30
- /**
31
- * Gets a String property from a "nested" Node's property and returns it XML escaped.
32
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code> has a
33
- * <code>String</code> property).
34
- *
35
- * <p>
36
- * This is a convenience method for getting a "nested" String property that also should be XML escaped. A String that should be included
37
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
38
- * </p>
39
- * <p>
40
- * This Velocity code:
41
- * </p>
42
- * <pre><code>
43
- * #set ($endecUtil = ...)
44
- * #set ($propertyUtil = ...)
45
- * ...
46
- * &lt;p&gt;
47
- * $endecUtil.escapeXML($propertyUtil.getNestedString($myNode, 'aNodeProperty', 'aProperty'))
48
- * &lt;/p&gt;
49
- * </code></pre>
50
- * would typically be replaced with this:
51
- * <pre><code>
52
- * #set ($propertyUtil = ...)
53
- * ...
54
- * &lt;p&gt;
55
- * $!propertyUtil.getNestedStringEscaped($myNode, 'aNodeProperty', 'aProperty')
56
- * &lt;/p&gt;
57
- * </code></pre>
58
- *
59
- * <p>
60
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
61
- * Illegal characters in node names and property names must always be escaped, typically via
62
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
63
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
64
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
65
- * (e.g. metadata properties) might contain illegal characters.
66
- * </p>
67
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
68
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
69
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
70
- * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, <code>null</code> is returned.
71
- * @see #getNestedString(javax.jcr.Node, String, String)
72
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
73
- * @since Sitevision 3.5
74
- */
75
- export function getNestedStringEscaped(
76
- aNode: Node,
77
- aNodePropertyName: string,
78
- aPropertyName: string
79
- ): string;
80
-
81
- /**
82
- * Gets a String property from a "nested" Node's property with a fallback value if the property doesn't exist.
83
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code> has a
84
- * <code>String</code> property).
85
- *
86
- * <p>
87
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
88
- * Illegal characters in node names and property names must always be escaped, typically via
89
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
90
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
91
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
92
- * (e.g. metadata properties) might contain illegal characters.
93
- * </p>
94
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
95
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
96
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
97
- * @param aDefaultValue fallback value if no value exists
98
- * @return the value for aPropertyName as <code>String</code>. If no property exists, aDefaultValue is returned.
99
- * @see #getNestedStringEscaped(javax.jcr.Node, String, String, String)
100
- */
101
- export function getNestedString(
102
- aNode: Node,
103
- aNodePropertyName: string,
104
- aPropertyName: string,
105
- aDefaultValue: string
106
- ): string;
107
-
108
- /**
109
- * Gets a String property from a "nested" Node's property with a fallback value if the property doesn't exist, and returns it XML escaped.
110
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
111
- * has a <code>String</code> property).
112
- *
113
- * <p>
114
- * This is a convenience method for getting a "nested" String property that also should be XML escaped. A String that should be included
115
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
116
- * </p>
117
- * <p>
118
- * This Velocity code:
119
- * </p>
120
- * <pre><code>
121
- * #set ($endecUtil = ...)
122
- * #set ($propertyUtil = ...)
123
- * ...
124
- * &lt;p&gt;
125
- * $endecUtil.escapeXML($propertyUtil.getNestedString($myNode, 'aNodeProperty', 'aProperty', 'a default value'))
126
- * &lt;/p&gt;
127
- * </code></pre>
128
- * would typically be replaced with this:
129
- * <pre><code>
130
- * #set ($propertyUtil = ...)
131
- * ...
132
- * &lt;p&gt;
133
- * $propertyUtil.getNestedStringEscaped($myNode, 'aNodeProperty', 'aProperty', 'a default value')
134
- * &lt;/p&gt;
135
- * </code></pre>
136
- *
137
- * <p>
138
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
139
- * Illegal characters in node names and property names must always be escaped, typically via
140
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
141
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
142
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
143
- * (e.g. metadata properties) might contain illegal characters.
144
- * </p>
145
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
146
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
147
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
148
- * @param aDefaultValue a (non XML escaped) fallback value if no value exists
149
- * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, aDefaultValue is XML escaped and returned.
150
- * @see #getNestedString(javax.jcr.Node, String, String, String)
151
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
152
- * @since Sitevision 3.5
153
- */
154
- export function getNestedStringEscaped(
155
- aNode: Node,
156
- aNodePropertyName: string,
157
- aPropertyName: string,
158
- aDefaultValue: string
159
- ): string;
160
-
161
- /**
162
- * Gets an int property from a "nested" Node's property.
163
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
164
- * has an <code>int/Integer</code> property).
165
- *
166
- * <p>
167
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
168
- * Illegal characters in node names and property names must always be escaped, typically via
169
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
170
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
171
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
172
- * (e.g. metadata properties) might contain illegal characters.
173
- * </p>
174
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
175
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
176
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
177
- * @return the value for aPropertyName as <code>int</code>. If no property exists or it isn't compatible with an <code>int</code>, 0 is returned.
178
- */
179
- export function getNestedInt(
180
- aNode: Node,
181
- aNodePropertyName: string,
182
- aPropertyName: string
183
- ): number;
184
-
185
- /**
186
- * Gets an int property from a "nested" Node's property with a fallback value if the property doesn't exist or is incompatible with the int type.
187
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
188
- * has an <code>int/Integer</code> property).
189
- *
190
- * <p>
191
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
192
- * Illegal characters in node names and property names must always be escaped, typically via
193
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
194
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
195
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
196
- * (e.g. metadata properties) might contain illegal characters.
197
- * </p>
198
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
199
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
200
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
201
- * @param aDefaultValue fallback value if no value exists
202
- * @return the value for aPropertyName as <code>int</code>. If no property exists or it isn't compatible with an <code>int</code>, aDefaultValue is returned.
203
- */
204
- export function getNestedInt(
205
- aNode: Node,
206
- aNodePropertyName: string,
207
- aPropertyName: string,
208
- aDefaultValue: number
209
- ): number;
210
-
211
- /**
212
- * Gets a double property from a "nested" Node's property.
213
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
214
- * has a <code>double/Double</code> property).
215
- *
216
- * <p>
217
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
218
- * Illegal characters in node names and property names must always be escaped, typically via
219
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
220
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
221
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
222
- * (e.g. metadata properties) might contain illegal characters.
223
- * </p>
224
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
225
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
226
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
227
- * @return the value for aPropertyName as <code>double</code>. If no property exists or it isn't compatible with a <code>double</code>, 0.0 is returned.
228
- * @since Sitevision 2.6.1_09
229
- */
230
- export function getNestedDouble(
231
- aNode: Node,
232
- aNodePropertyName: string,
233
- aPropertyName: string
234
- ): number;
235
-
236
- /**
237
- * Gets a double property from a "nested" Node's property with a fallback value if the property doesn't exist or is incompatible
238
- * with the double type.
239
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
240
- * has a <code>double/Double</code> property).
241
- *
242
- * <p>
243
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
244
- * Illegal characters in node names and property names must always be escaped, typically via
245
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
246
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
247
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
248
- * (e.g. metadata properties) might contain illegal characters.
249
- * </p>
250
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
251
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
252
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
253
- * @param aDefaultValue fallback value if no value exists
254
- * @return the value for aPropertyName as <code>double</code>. If no property exists or it isn't compatible with a <code>double</code>, aDefaultValue is returned.
255
- * @since Sitevision 2.6.1_09
256
- */
257
- export function getNestedDouble(
258
- aNode: Node,
259
- aNodePropertyName: string,
260
- aPropertyName: string,
261
- aDefaultValue: number
262
- ): number;
263
-
264
- /**
265
- * Gets a boolean property from a "nested" Node's property.
266
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
267
- * has a <code>Boolean</code> property).
268
- *
269
- * <p>
270
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
271
- * Illegal characters in node names and property names must always be escaped, typically via
272
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
273
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
274
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
275
- * (e.g. metadata properties) might contain illegal characters.
276
- * </p>
277
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
278
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
279
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
280
- * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, <code>false</code> is returned.
281
- */
282
- export function getNestedBoolean(
283
- aNode: Node,
284
- aNodePropertyName: string,
285
- aPropertyName: string
286
- ): boolean;
287
-
288
- /**
289
- * Gets a boolean property from a "nested" Node's property with a fallback value if the property doesn't exist or is incompatible
290
- * with the boolean type.
291
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
292
- * has a <code>Boolean</code> property).
293
- *
294
- * <p>
295
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
296
- * Illegal characters in node names and property names must always be escaped, typically via
297
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
298
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
299
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
300
- * (e.g. metadata properties) might contain illegal characters.
301
- * </p>
302
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
303
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
304
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
305
- * @param aDefaultValue fallback value if no value exists
306
- * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, aDefaultValue is returned.
307
- */
308
- export function getNestedBoolean(
309
- aNode: Node,
310
- aNodePropertyName: string,
311
- aPropertyName: string,
312
- aDefaultValue: boolean
313
- ): boolean;
314
-
315
- /**
316
- * Gets a Node property from a "nested" Node's property.
317
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
318
- * has a <code>Node</code> property).
319
- *
320
- * <p>
321
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
322
- * Illegal characters in node names and property names must always be escaped, typically via
323
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
324
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
325
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
326
- * (e.g. metadata properties) might contain illegal characters.
327
- * </p>
328
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
329
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
330
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
331
- * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>null</code> is returned.
332
- */
333
- export function getNestedNode(
334
- aNode: Node,
335
- aNodePropertyName: string,
336
- aPropertyName: string
337
- ): Node;
338
-
339
- /**
340
- * Gets a Node property from a "nested" Node's property with a fallback value if the property doesn't exist.
341
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
342
- * has a <code>Node</code> property).
343
- *
344
- * <p>
345
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
346
- * Illegal characters in node names and property names must always be escaped, typically via
347
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
348
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
349
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
350
- * (e.g. metadata properties) might contain illegal characters.
351
- * </p>
352
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
353
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
354
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
355
- * @param aDefaultValue fallback value if no value exists
356
- * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, aDefaultValue is returned.
357
- */
358
- export function getNestedNode(
359
- aNode: Node,
360
- aNodePropertyName: string,
361
- aPropertyName: string,
362
- aDefaultValue: Node
363
- ): Node;
364
-
365
- /**
366
- * Gets a Binary property from a Node.
367
- *
368
- * <p>
369
- * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
370
- * you must also <code>close</code> the stream when you are done.
371
- * </p>
372
- *
373
- * <p>
374
- * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
375
- * </p>
376
- *
377
- * <p>
378
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
379
- * Illegal characters in node names and property names must always be escaped, typically via
380
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
381
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
382
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
383
- * (e.g. metadata properties) might contain illegal characters.
384
- * </p>
385
- * @param aNode the <code>Node</code> that has a property
386
- * @param aPropertyName the name of the property
387
- * @return the value for aPropertyName as <code>Binary</code>. If no property exists, <code>null</code> is returned.
388
- * @since Sitevision 3.5
389
- */
390
- export function getBinary(aNode: Node, aPropertyName: string): Binary;
391
-
392
- /**
393
- * Gets a Binary property from a node with a fallback value if the property doesn't exist.
394
- *
395
- * <p>
396
- * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
397
- * you must also <code>close</code> the stream when you are done.
398
- * </p>
399
- *
400
- * <p>
401
- * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
402
- * </p>
403
- *
404
- * <p>
405
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
406
- * Illegal characters in node names and property names must always be escaped, typically via
407
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
408
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
409
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
410
- * (e.g. metadata properties) might contain illegal characters.
411
- * </p>
412
- * @param aNode the <code>Node</code> that has a property
413
- * @param aPropertyName the name of the property
414
- * @param aDefaultValue fallback value if no value exists
415
- * @return the value for aPropertyName as <code>Binary</code>. If no property exists, aDefaultValue is returned.
416
- * @since Sitevision 3.5
417
- */
418
- export function getBinary(
419
- aNode: Node,
420
- aPropertyName: string,
421
- aDefaultValue: Binary
422
- ): Binary;
423
-
424
- /**
425
- * Gets a Binary property from a "nested" Node's property.
426
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
427
- * has a <code>Binary</code> property).
428
- *
429
- * <p>
430
- * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
431
- * you must also <code>close</code> the stream when you are done.
432
- * </p>
433
- *
434
- * <p>
435
- * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
436
- * </p>
437
- *
438
- * <p>
439
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
440
- * Illegal characters in node names and property names must always be escaped, typically via
441
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
442
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
443
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
444
- * (e.g. metadata properties) might contain illegal characters.
445
- * </p>
446
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
447
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
448
- * @param aPropertyName the name of the Binary property for the "inner/nested" <code>Node</code>
449
- * @return the value for aPropertyName as <code>Binary</code>. If no property exists or it isn't a <code>Binary</code>, <code>null</code> is returned.
450
- * @since Sitevision 3.5
451
- */
452
- export function getNestedBinary(
453
- aNode: Node,
454
- aNodePropertyName: string,
455
- aPropertyName: string
456
- ): Binary;
457
-
458
- /**
459
- * Gets a Binary property from a "nested" Node's property with a fallback value if the property doesn't exist.
460
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
461
- * has a <code>Binary</code> property).
462
- *
463
- * <p>
464
- * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
465
- * you must also <code>close</code> the stream when you are done.
466
- * </p>
467
- *
468
- * <p>
469
- * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
470
- * </p>
471
- *
472
- * <p>
473
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
474
- * Illegal characters in node names and property names must always be escaped, typically via
475
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
476
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
477
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
478
- * (e.g. metadata properties) might contain illegal characters.
479
- * </p>
480
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
481
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
482
- * @param aPropertyName the name of the Binary property for the "inner/nested" <code>Node</code>
483
- * @param aDefaultValue fallback value if no value exists
484
- * @return the value for aPropertyName as <code>Binary</code>. If no property exists or it isn't a <code>Binary</code>, aDefaultValue is returned.
485
- * @since Sitevision 3.5
486
- */
487
- export function getNestedBinary(
488
- aNode: Node,
489
- aNodePropertyName: string,
490
- aPropertyName: string,
491
- aDefaultValue: Binary
492
- ): Binary;
493
-
494
- /**
495
- * Gets a String property from a Node.
496
- *
497
- * <p>
498
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
499
- * Illegal characters in node names and property names must always be escaped, typically via
500
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
501
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
502
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
503
- * (e.g. metadata properties) might contain illegal characters.
504
- * </p>
505
- * @param aNode the <code>Node</code> that has a property
506
- * @param aPropertyName the name of the property
507
- * @return the value for aPropertyName as <code>String</code>. If no property exists, <code>null</code> is returned.
508
- * @see #getStringEscaped(javax.jcr.Node, String)
509
- */
510
- export function getString(aNode: Node, aPropertyName: string): string;
511
-
512
- /**
513
- * Gets a String property from a Node and returns it XML escaped.
514
- *
515
- * <p>
516
- * This is a convenience method for getting a String property that also should be XML escaped. A String that should be included
517
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
518
- * </p>
519
- * <p>
520
- * This Velocity code:
521
- * </p>
522
- * <pre><code>
523
- * #set ($endecUtil = ...)
524
- * #set ($propertyUtil = ...)
525
- * ...
526
- * &lt;p&gt;
527
- * $endecUtil.escapeXML($propertyUtil.getString($myNode, 'aProperty'))
528
- * &lt;/p&gt;
529
- * </code></pre>
530
- * would typically be replaced with this:
531
- * <pre><code>
532
- * #set ($propertyUtil = ...)
533
- * ...
534
- * &lt;p&gt;
535
- * $!propertyUtil.getStringEscaped($myNode, 'aProperty')
536
- * &lt;/p&gt;
537
- * </code></pre>
538
- *
539
- * <p>
540
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
541
- * Illegal characters in node names and property names must always be escaped, typically via
542
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
543
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
544
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
545
- * (e.g. metadata properties) might contain illegal characters.
546
- * </p>
547
- * @param aNode the <code>Node</code> that has a property
548
- * @param aPropertyName the name of the property
549
- * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, <code>null</code> is returned.
550
- * @see #getString(javax.jcr.Node, String)
551
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
552
- * @since Sitevision 3.5
553
- */
554
- export function getStringEscaped(aNode: Node, aPropertyName: string): string;
555
-
556
- /**
557
- * Gets a String property from a node with a fallback value if the property doesn't exist.
558
- *
559
- * <p>
560
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
561
- * Illegal characters in node names and property names must always be escaped, typically via
562
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
563
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
564
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
565
- * (e.g. metadata properties) might contain illegal characters.
566
- * </p>
567
- * @param aNode the <code>Node</code> that has a property
568
- * @param aPropertyName the name of the property
569
- * @param aDefaultValue fallback value if no value exists
570
- * @return the value for aPropertyName as <code>String</code>. If no property exists, aDefaultValue is returned.
571
- * @see #getStringEscaped(javax.jcr.Node, String, String)
572
- */
573
- export function getString(
574
- aNode: Node,
575
- aPropertyName: string,
576
- aDefaultValue: string
577
- ): string;
578
-
579
- /**
580
- * Gets a String property from a Node, with a fallback value, and returns it XML escaped.
581
- *
582
- * <p>
583
- * This is a convenience method for getting a String property that also should be XML escaped. A String that should be included
584
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
585
- * </p>
586
- * <p>
587
- * This Velocity code:
588
- * </p>
589
- * <pre><code>
590
- * #set ($endecUtil = ...)
591
- * #set ($propertyUtil = ...)
592
- * ...
593
- * &lt;p&gt;
594
- * $endecUtil.escapeXML($propertyUtil.getString($myNode, 'aProperty', 'a default value'))
595
- * &lt;/p&gt;
596
- * </code></pre>
597
- * would typically be replaced with this:
598
- * <pre><code>
599
- * #set ($propertyUtil = ...)
600
- * ...
601
- * &lt;p&gt;
602
- * $propertyUtil.getStringEscaped($myNode, 'aProperty', 'a default value')
603
- * &lt;/p&gt;
604
- * </code></pre>
605
- *
606
- * <p>
607
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
608
- * Illegal characters in node names and property names must always be escaped, typically via
609
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
610
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
611
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
612
- * (e.g. metadata properties) might contain illegal characters.
613
- * </p>
614
- * @param aNode the <code>Node</code> that has a property
615
- * @param aPropertyName the name of the property
616
- * @param aDefaultValue a (non XML escaped) fallback value if no value exists
617
- * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, aDefaultValue is XML escaped and returned.
618
- * @see #getString(javax.jcr.Node, String, String)
619
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
620
- * @since Sitevision 3.5
621
- */
622
- export function getStringEscaped(
623
- aNode: Node,
624
- aPropertyName: string,
625
- aDefaultValue: string
626
- ): string;
627
-
628
- /**
629
- * Gets an int property from a Node.
630
- *
631
- * <p>
632
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
633
- * Illegal characters in node names and property names must always be escaped, typically via
634
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
635
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
636
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
637
- * (e.g. metadata properties) might contain illegal characters.
638
- * </p>
639
- * @param aNode the <code>Node</code> that has a property
640
- * @param aPropertyName the name of the property
641
- * @return the <code>int</code> value for aPropertyName. If no property exists or it isn't compatible with an <code>int</code>, 0 is returned.
642
- */
643
- export function getInt(aNode: Node, aPropertyName: string): number;
644
-
645
- /**
646
- * Gets an int property from a node with a fallback value if the property doesn't exist or is incompatible with the int type.
647
- *
648
- * <p>
649
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
650
- * Illegal characters in node names and property names must always be escaped, typically via
651
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
652
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
653
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
654
- * (e.g. metadata properties) might contain illegal characters.
655
- * </p>
656
- * @param aNode the <code>Node</code> that has a property
657
- * @param aPropertyName the name of the property
658
- * @param aDefaultValue fallback value if no value exists
659
- * @return the <code>int</code> value for aPropertyName. If no property exists or it isn't compatible with an <code>int</code>, aDefaultValue is returned.
660
- */
661
- export function getInt(
662
- aNode: Node,
663
- aPropertyName: string,
664
- aDefaultValue: number
665
- ): number;
666
-
667
- /**
668
- * Gets a double property from a Node.
669
- *
670
- * <p>
671
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
672
- * Illegal characters in node names and property names must always be escaped, typically via
673
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
674
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
675
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
676
- * (e.g. metadata properties) might contain illegal characters.
677
- * </p>
678
- * @param aNode the <code>Node</code> that has a property
679
- * @param aPropertyName the name of the property
680
- * @return the <code>double</code> value for aPropertyName. If no property exists or it isn't compatible with a <code>double</code>, 0.0 is returned.
681
- * @since Sitevision 2.6.1_09
682
- */
683
- export function getDouble(aNode: Node, aPropertyName: string): number;
684
-
685
- /**
686
- * Gets a double property from a node with a fallback value if the property doesn't exist or is incompatible with the double type.
687
- *
688
- * <p>
689
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
690
- * Illegal characters in node names and property names must always be escaped, typically via
691
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
692
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
693
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
694
- * (e.g. metadata properties) might contain illegal characters.
695
- * </p>
696
- * @param aNode the <code>Node</code> that has a property
697
- * @param aPropertyName the name of the property
698
- * @param aDefaultValue fallback value if no value exists
699
- * @return the <code>double</code> value for aPropertyName. If no property exists or it isn't compatible with a <code>double</code>, aDefaultValue is returned.
700
- * @since Sitevision 2.6.1_09
701
- */
702
- export function getDouble(
703
- aNode: Node,
704
- aPropertyName: string,
705
- aDefaultValue: number
706
- ): number;
707
-
708
- /**
709
- * Gets a boolean property from a Node.
710
- *
711
- * <p>
712
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
713
- * Illegal characters in node names and property names must always be escaped, typically via
714
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
715
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
716
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
717
- * (e.g. metadata properties) might contain illegal characters.
718
- * </p>
719
- * @param aNode the <code>Node</code> that has a property
720
- * @param aPropertyName the name of the property
721
- * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, <code>false</code> is returned.
722
- */
723
- export function getBoolean(aNode: Node, aPropertyName: string): boolean;
724
-
725
- /**
726
- * Gets a boolean property from a Node with a fallback value if the property doesn't exist or is incompatible with the boolean type.
727
- *
728
- * <p>
729
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
730
- * Illegal characters in node names and property names must always be escaped, typically via
731
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
732
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
733
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
734
- * (e.g. metadata properties) might contain illegal characters.
735
- * </p>
736
- * @param aNode the <code>Node</code> that has a property
737
- * @param aPropertyName the name of the property
738
- * @param aDefaultValue fallback value if no value exists
739
- * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, aDefaultValue is returned.
740
- */
741
- export function getBoolean(
742
- aNode: Node,
743
- aPropertyName: string,
744
- aDefaultValue: boolean
745
- ): boolean;
746
-
747
- /**
748
- * Gets a Node property from a Node.
749
- *
750
- * <p>
751
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
752
- * Illegal characters in node names and property names must always be escaped, typically via
753
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
754
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
755
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
756
- * (e.g. metadata properties) might contain illegal characters.
757
- * </p>
758
- * @param aNode the <code>Node</code> that has a property
759
- * @param aPropertyName the name of the property
760
- * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>null</code> is returned.
761
- */
762
- export function getNode(aNode: Node, aPropertyName: string): Node;
763
-
764
- /**
765
- * Gets a Node property from a Node if an enabling property allows it.
766
- *
767
- * <p>
768
- * In some Sitevision portlet configs there are a "boolean" property that enables a "Node" property and the "Node" might be <code>null</code>.
769
- * This is a convenience method for such cases. In Velocity, code like this:
770
- * </p>
771
- * <pre><code>
772
- * #set ($startPage = ...) <em>## Ensure start page value...</em>
773
- * #if ($propertyUtil.getBoolean($portlet, 'useCustomStartPage'))
774
- * #set ($customStartPage = $scriptUtil.getNonNull(${propertyUtil.getNode($portlet, 'customStartPage')}))
775
- * #if ($customStartPage)
776
- * #set ($startPage = $customStartPage)
777
- * #end
778
- * #end
779
- * </code></pre>
780
- * would typically be replaced with this:
781
- * <pre><code>
782
- * #set ($startPage = $scriptUtil.getNonNull(${propertyUtil.getEnabledNode($portlet, 'useCustomStartPage', 'customStartPage')}))
783
- * #if (!$startPage)
784
- * #set ($startPage = ...) <em>## Set default start page value if no custom start page was set...</em>
785
- * #end
786
- * </code></pre>
787
- *
788
- * <p>
789
- * <strong>Note!</strong> This method does <em>not</em> escape names
790
- * (i.e. <code>aEnablingPropertyName</code> and <code>aNodePropertyName</code>).
791
- * Illegal characters in node names and property names must always be escaped, typically via
792
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
793
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
794
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
795
- * (e.g. metadata properties) might contain illegal characters.
796
- * </p>
797
- * @param aNode the <code>Node</code> that has the properties
798
- * @param aEnablingPropertyName the name of the boolean property that enables the Node denoted by <code>aPropertyName</code>
799
- * @param aNodePropertyName the name of the property
800
- * @return the value for aNodePropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>null</code> is returned. A <code>Node</code> will never be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
801
- * @see #getEnabledNode(javax.jcr.Node, String, String, javax.jcr.Node)
802
- * @since Sitevision 3.0
803
- */
804
- export function getEnabledNode(
805
- aNode: Node,
806
- aEnablingPropertyName: string,
807
- aNodePropertyName: string
808
- ): Node;
809
-
810
- /**
811
- * Gets a Node property from a Node if an enabling property allows it, with a fallback Node value.
812
- *
813
- * <p>
814
- * <strong>Note!</strong> This method does <em>not</em> escape names
815
- * (i.e. <code>aEnablingPropertyName</code> and <code>aNodePropertyName</code>).
816
- * Illegal characters in node names and property names must always be escaped, typically via
817
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
818
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
819
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
820
- * (e.g. metadata properties) might contain illegal characters.
821
- * </p>
822
- * @param aNode the <code>Node</code> that has the properties
823
- * @param aEnablingPropertyName the name of the boolean property that enables the Node denoted by <code>aPropertyName</code>
824
- * @param aNodePropertyName the name of the property
825
- * @param aDefaultValue fallback value if no value exists
826
- * @return the value for aNodePropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>aDefaultValue</code> is returned. If <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>, <code>aDefaultValue</code> is returned.
827
- * @see #getEnabledNode(javax.jcr.Node, String, String)
828
- * @since Sitevision 3.0
829
- */
830
- export function getEnabledNode(
831
- aNode: Node,
832
- aEnablingPropertyName: string,
833
- aNodePropertyName: string,
834
- aDefaultValue: Node
835
- ): Node;
836
-
837
- /**
838
- * Gets a String property from a Node if an enabling boolean property allows it.
839
- *
840
- * <p>
841
- * In some Sitevision portlet configs there are a "boolean" property that enables a "String" property and the "String" might
842
- * be <code>null</code>. This is a convenience method for such cases. In Velocity, code like this:
843
- * </p>
844
- * <pre><code>
845
- * #set ($name = ...) <em>## Set default name...</em>
846
- * #if ($propertyUtil.getBoolean($portlet, 'useCustomName'))
847
- * #set ($customName = $scriptUtil.getNonNull(${propertyUtil.getNode($portlet, 'customName')}))
848
- * #if ($customName)
849
- * #set ($name = $customName)
850
- * #end
851
- * #end
852
- * </code></pre>
853
- * would typically be replaced with this:
854
- * <pre><code>
855
- * #set ($name = $scriptUtil.getNonNull(${propertyUtil.getEnabledString($portlet, 'useCustomName', 'customName')}))
856
- * #if (!$name)
857
- * #set ($name = ...) <em>## Set default name if no custom name was set...</em>
858
- * #end
859
- * </code></pre>
860
- *
861
- * <p>
862
- * <strong>Note!</strong> This method does <em>not</em> escape names
863
- * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
864
- * Illegal characters in node names and property names must always be escaped, typically via
865
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
866
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
867
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
868
- * (e.g. metadata properties) might contain illegal characters.
869
- * </p>
870
- * @param aNode the <code>Node</code> that has the properties
871
- * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
872
- * @param aStringPropertyName the name of the String property
873
- * @return the value for aStringPropertyName as <code>String</code>. If no property exists, <code>null</code> is returned. Null will always be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
874
- * @see #getEnabledString(javax.jcr.Node, String, String, String)
875
- * @since Sitevision 4.0
876
- */
877
- export function getEnabledString(
878
- aNode: Node,
879
- aEnablingPropertyName: string,
880
- aStringPropertyName: string
881
- ): string;
882
-
883
- /**
884
- * Gets a String property from a Node if an enabling boolean property allows it, with a fallback value.
885
- *
886
- * <p>
887
- * <strong>Note!</strong> This method does <em>not</em> escape names
888
- * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
889
- * Illegal characters in node names and property names must always be escaped, typically via
890
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
891
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
892
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
893
- * (e.g. metadata properties) might contain illegal characters.
894
- * </p>
895
- * @param aNode the <code>Node</code> that has the properties
896
- * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
897
- * @param aStringPropertyName the name of the String property
898
- * @param aDefaultValue fallback value to return if no value exist
899
- * @return the value for aStringPropertyName as <code>String</code>. If no property exists, <code>aDefaultValue</code> is returned. <code>aDefaultValue</code> will always be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
900
- * @see #getEnabledString(javax.jcr.Node, String, String)
901
- * @since Sitevision 4.0
902
- */
903
- export function getEnabledString(
904
- aNode: Node,
905
- aEnablingPropertyName: string,
906
- aStringPropertyName: string,
907
- aDefaultValue: string
908
- ): string;
909
-
910
- /**
911
- * Gets a String property from a Node if an enabling boolean property allows it, and returns it XML escaped.
912
- *
913
- * <p>
914
- * In some Sitevision portlet configs there are a "boolean" property that enables a "String" property and the "String"
915
- * might be <code>null</code>. This is a convenience method for such cases where you want the value XML escaped. In Velocity, code like this:
916
- * </p>
917
- * <pre><code>
918
- * #set ($endecUtil = ...)
919
- * #set ($escapedName = ...) <em>## Set default escaped name...</em>
920
- * #if ($propertyUtil.getBoolean($portlet, 'useCustomName'))
921
- * #set ($customName = $scriptUtil.getNonNull(${propertyUtil.getNode($portlet, 'customName')}))
922
- * #if ($customName)
923
- * #set ($escapedName = $endecUtil.escapeXML($customName))
924
- * #end
925
- * #end
926
- * </code></pre>
927
- * would typically be replaced with this:
928
- * <pre><code>
929
- * #set ($escapedName = $scriptUtil.getNonNull(${propertyUtil.getEnabledStringEscaped($portlet, 'useCustomName', 'customName')}))
930
- * #if (!$escapedName)
931
- * #set ($escapedName = ...) <em>## Set default escaped name if no custom name was set...</em>
932
- * #end
933
- * </code></pre>
934
- *
935
- * <p>
936
- * <strong>Note!</strong> This method does <em>not</em> escape names
937
- * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
938
- * Illegal characters in node names and property names must always be escaped, typically via
939
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
940
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
941
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
942
- * (e.g. metadata properties) might contain illegal characters.
943
- * </p>
944
- * @param aNode the <code>Node</code> that has the properties
945
- * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
946
- * @param aStringPropertyName the name of the String property
947
- * @return the value for aStringPropertyName as a XML escaped <code>String</code>. If no property exists, <code>null</code> is returned. Null will always be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
948
- * @see #getEnabledStringEscaped(javax.jcr.Node, String, String, String)
949
- * @since Sitevision 4.0
950
- */
951
- export function getEnabledStringEscaped(
952
- aNode: Node,
953
- aEnablingPropertyName: string,
954
- aStringPropertyName: string
955
- ): string;
956
-
957
- /**
958
- * Gets a String property from a Node if an enabling boolean property allows it, and returns it XML escaped with a fallback value.
959
- *
960
- * <p>
961
- * <strong>Note!</strong> This method does <em>not</em> escape names
962
- * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
963
- * Illegal characters in node names and property names must always be escaped, typically via
964
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
965
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
966
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
967
- * (e.g. metadata properties) might contain illegal characters.
968
- * </p>
969
- * @param aNode the <code>Node</code> that has the properties
970
- * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
971
- * @param aStringPropertyName the name of the String property
972
- * @param aDefaultValue the (non XML escaped) fallback value to return if no value exist
973
- * @return the value for aStringPropertyName as a XML escaped <code>String</code>. If no property exists, <code>aDefaultValue</code> is XML escaped and returned. <code>aDefaultValue</code> will always be XML escaped and returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
974
- * @see #getEnabledStringEscaped(javax.jcr.Node, String, String)
975
- * @since Sitevision 4.0
976
- */
977
- export function getEnabledStringEscaped(
978
- aNode: Node,
979
- aEnablingPropertyName: string,
980
- aStringPropertyName: string,
981
- aDefaultValue: string
982
- ): string;
983
-
984
- /**
985
- * Gets a Calendar property from a Node.
986
- *
987
- * <p>
988
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
989
- * Illegal characters in node names and property names must always be escaped, typically via
990
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
991
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
992
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
993
- * (e.g. metadata properties) might contain illegal characters.
994
- * </p>
995
- * @param aNode the <code>Node</code> that has a property
996
- * @param aPropertyName the name of the property
997
- * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't a <code>Calendar</code>, <code>null</code> is returned.
998
- * @since Sitevision 2.6.1_02
999
- */
1000
- export function getCalendar(aNode: Node, aPropertyName: string): unknown;
1001
-
1002
- /**
1003
- * Gets a Calendar property from a Node with a fallback value if the property doesn't exist or is incompatible with the Calendar type.
1004
- *
1005
- * <p>
1006
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1007
- * Illegal characters in node names and property names must always be escaped, typically via
1008
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1009
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1010
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1011
- * (e.g. metadata properties) might contain illegal characters.
1012
- * </p>
1013
- * @param aNode the <code>Node</code> that has a property
1014
- * @param aPropertyName the name of the property
1015
- * @param aDefaultValue fallback value if no value exists
1016
- * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't compatible with a <code>Calendar</code>, aDefaultValue is returned.
1017
- * @since Sitevision 2.6.1_02
1018
- */
1019
- export function getCalendar(
1020
- aNode: Node,
1021
- aPropertyName: string,
1022
- aDefaultValue: unknown
1023
- ): unknown;
1024
-
1025
- /**
1026
- * Gets a Calendar property from a "nested" Node's property.
1027
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1028
- * has a <code>Calendar/Date</code> property).
1029
- * <p>
1030
- * Note! The name of this method might seem awkward since a <code>Calendar</code> is returned, but this is to resemble the pattern of a
1031
- * <code>javax.jcr.Node</code> that has the method <code>getDate()</code> that returns a <code>Calendar</code>.
1032
- * </p>
1033
- *
1034
- * <p>
1035
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1036
- * Illegal characters in node names and property names must always be escaped, typically via
1037
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1038
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1039
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1040
- * (e.g. metadata properties) might contain illegal characters.
1041
- * </p>
1042
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1043
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
1044
- * @param aPropertyName the name of the Calendar property for the "inner/nested" <code>Node</code>
1045
- * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't a <code>Calendar</code>, <code>null</code> is returned.
1046
- * @since Sitevision 2.6.1_02
1047
- */
1048
- export function getNestedCalendar(
1049
- aNode: Node,
1050
- aNodePropertyName: string,
1051
- aPropertyName: string
1052
- ): unknown;
1053
-
1054
- /**
1055
- * Gets a Calendar property from a "nested" Node's property with a fallback value if the property doesn't exist.
1056
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1057
- * has a <code>Calendar/Date</code> property).
1058
- *
1059
- * <p>
1060
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1061
- * Illegal characters in node names and property names must always be escaped, typically via
1062
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1063
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1064
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1065
- * (e.g. metadata properties) might contain illegal characters.
1066
- * </p>
1067
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1068
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
1069
- * @param aPropertyName the name of the Calendar property for the "inner/nested" <code>Node</code>
1070
- * @param aDefaultValue fallback value if no value exists
1071
- * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't a <code>Calendar</code>, aDefaultValue is returned.
1072
- * @since Sitevision 2.6.1_02
1073
- */
1074
- export function getNestedCalendar(
1075
- aNode: Node,
1076
- aNodePropertyName: string,
1077
- aPropertyName: string,
1078
- aDefaultValue: unknown
1079
- ): unknown;
1080
-
1081
- /**
1082
- * Gets a Node property from a Node with a fallback value if the property doesn't exist.
1083
- *
1084
- * <p>
1085
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1086
- * Illegal characters in node names and property names must always be escaped, typically via
1087
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1088
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1089
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1090
- * (e.g. metadata properties) might contain illegal characters.
1091
- * </p>
1092
- * @param aNode the <code>Node</code> that has a property
1093
- * @param aPropertyName the name of the property
1094
- * @param aDefaultValue fallback value if no value exists
1095
- * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, aDefaultValue is returned.
1096
- */
1097
- export function getNode(
1098
- aNode: Node,
1099
- aPropertyName: string,
1100
- aDefaultValue: Node
1101
- ): Node;
1102
-
1103
- /**
1104
- * Gets a <code>List</code> of property values from a Node.
1105
- *
1106
- * <p>
1107
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1108
- * Illegal characters in node names and property names must always be escaped, typically via
1109
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1110
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1111
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1112
- * (e.g. metadata properties) might contain illegal characters.
1113
- * </p>
1114
- * @param aNode the <code>Node</code> that has a property
1115
- * @param aPropertyName the name of the property
1116
- * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>null</code> is returned.
1117
- * @see #getStringsEscaped(javax.jcr.Node, String)
1118
- * @since Sitevision 2.6_06
1119
- */
1120
- export function getStrings(aNode: Node, aPropertyName: string): unknown;
1121
-
1122
- /**
1123
- * Gets a <code>List</code> of XML escaped property values from a Node.
1124
- *
1125
- * <p>
1126
- * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1127
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1128
- * </p>
1129
- * <p>
1130
- * This Velocity code:
1131
- * </p>
1132
- * <pre><code>
1133
- * #set ($endecUtil = ...)
1134
- * #set ($propertyUtil = ...)
1135
- * ...
1136
- * #set ($valueList = $propertyUtil.getStrings($myNode, 'aProperty'))
1137
- * &lt;ul&gt;
1138
- * #foreach ($value in $valueList)
1139
- * &lt;li&gt;
1140
- * $endecUtil.escapeXML($value)
1141
- * &lt;/li&gt;
1142
- * #end
1143
- * &lt;/ul&gt;
1144
- * </code></pre>
1145
- * would typically be replaced with this:
1146
- * <pre><code>
1147
- * #set ($propertyUtil = ...)
1148
- * ...
1149
- * #set ($escapedValueList = $propertyUtil.getStringsEscaped($myNode, 'aProperty'))
1150
- * &lt;ul&gt;
1151
- * #foreach ($escapedValue in $escapedValueList)
1152
- * &lt;li&gt;
1153
- * $escapedValue
1154
- * &lt;/li&gt;
1155
- * #end
1156
- * &lt;/ul&gt;
1157
- * </code></pre>
1158
- *
1159
- * <p>
1160
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1161
- * Illegal characters in node names and property names must always be escaped, typically via
1162
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1163
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1164
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1165
- * (e.g. metadata properties) might contain illegal characters.
1166
- * </p>
1167
- * @param aNode the <code>Node</code> that has a property
1168
- * @param aPropertyName the name of the property
1169
- * @return the string value(s) for aPropertyName, XML escaped and embedded in a <code>List</code>. If no property exists, <code>null</code> is returned.
1170
- * @see #getString(javax.jcr.Node, String)
1171
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1172
- * @since Sitevision 3.5
1173
- */
1174
- export function getStringsEscaped(aNode: Node, aPropertyName: string): unknown;
1175
-
1176
- /**
1177
- * Gets a <code>List</code> of property values from a Node with a fallback value if the property doesn't exist.
1178
- *
1179
- * <p>
1180
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1181
- * Illegal characters in node names and property names must always be escaped, typically via
1182
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1183
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1184
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1185
- * (e.g. metadata properties) might contain illegal characters.
1186
- * </p>
1187
- * @param aNode the <code>Node</code> that has a property
1188
- * @param aPropertyName the name of the property
1189
- * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>aDefaultValue</code> is returned.
1190
- * @param aDefaultValue fallback value if no value exists
1191
- * @see #getStringsEscaped(javax.jcr.Node, String, java.util.List)
1192
- * @since Sitevision 3.0
1193
- */
1194
- export function getStrings(
1195
- aNode: Node,
1196
- aPropertyName: string,
1197
- aDefaultValue: unknown
1198
- ): unknown;
1199
-
1200
- /**
1201
- * Gets a <code>List</code> of XML escaped property values from a Node with a fallback value if the property doesn't exist.
1202
- *
1203
- * <p>
1204
- * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1205
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1206
- * </p>
1207
- * <p>
1208
- * This Velocity code:
1209
- * </p>
1210
- * <pre><code>
1211
- * #set ($endecUtil = ...)
1212
- * #set ($propertyUtil = ...)
1213
- * #set ($myDefaultList = ...)
1214
- * ...
1215
- * #set ($valueList = $propertyUtil.getStrings($myNode, 'aProperty', $myDefaultList))
1216
- * &lt;ul&gt;
1217
- * #foreach ($value in $valueList)
1218
- * &lt;li&gt;
1219
- * $endecUtil.escapeXML($value)
1220
- * &lt;/li&gt;
1221
- * #end
1222
- * &lt;/ul&gt;
1223
- * </code></pre>
1224
- * would typically be replaced with this:
1225
- * <pre><code>
1226
- * #set ($propertyUtil = ...)
1227
- * #set ($myDefaultList = ...)
1228
- * ...
1229
- * #set ($escapedValueList = $propertyUtil.getStringsEscaped($myNode, 'aProperty', $myDefaultList))
1230
- * &lt;ul&gt;
1231
- * #foreach ($escapedValue in $escapedValueList)
1232
- * &lt;li&gt;
1233
- * $escapedValue
1234
- * &lt;/li&gt;
1235
- * #end
1236
- * &lt;/ul&gt;
1237
- * </code></pre>
1238
- *
1239
- * <p>
1240
- * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1241
- * Illegal characters in node names and property names must always be escaped, typically via
1242
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1243
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1244
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1245
- * (e.g. metadata properties) might contain illegal characters.
1246
- * </p>
1247
- * @param aNode the <code>Node</code> that has a property
1248
- * @param aPropertyName the name of the property
1249
- * @return the string value(s) for aPropertyName, XML escaped and embedded in a <code>List</code>. If no property exists, <code>aDefaultValue</code> is returned.
1250
- * @param aDefaultValue fallback list if no value exists. <strong>Note!</strong> The actual fallback list is <em>never</em> returned but it's values might be used. If the fallback list are about to be returned, a copy of it will be created and all values from the fallback list will be XML escaped and added to the new list before it is returned.
1251
- * @see #getString(javax.jcr.Node, String, String)
1252
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1253
- * @since Sitevision 3.5
1254
- */
1255
- export function getStringsEscaped(
1256
- aNode: Node,
1257
- aPropertyName: string,
1258
- aDefaultValue: unknown
1259
- ): unknown;
1260
-
1261
- /**
1262
- * Gets a <code>List</code> of property values from a "nested" Node's property.
1263
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1264
- * has a <code>String</code> property).
1265
- *
1266
- * <p>
1267
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1268
- * Illegal characters in node names and property names must always be escaped, typically via
1269
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1270
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1271
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1272
- * (e.g. metadata properties) might contain illegal characters.
1273
- * </p>
1274
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1275
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1276
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1277
- * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>null</code> is returned.
1278
- * @since Sitevision 2.6_06
1279
- */
1280
- export function getNestedStrings(
1281
- aNode: Node,
1282
- aNodePropertyName: string,
1283
- aPropertyName: string
1284
- ): unknown;
1285
-
1286
- /**
1287
- * Gets a <code>List</code> of XML escaped property values from a "nested" Node's property.
1288
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1289
- * has a <code>String</code> property).
1290
- *
1291
- * <p>
1292
- * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1293
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1294
- * </p>
1295
- * <p>
1296
- * This Velocity code:
1297
- * </p>
1298
- * <pre><code>
1299
- * #set ($endecUtil = ...)
1300
- * #set ($propertyUtil = ...)
1301
- * ...
1302
- * #set ($valueList = $propertyUtil.getNestedStrings($myNode, 'aNodeProperty', 'aProperty'))
1303
- * &lt;ul&gt;
1304
- * #foreach ($value in $valueList)
1305
- * &lt;li&gt;
1306
- * $endecUtil.escapeXML($value)
1307
- * &lt;/li&gt;
1308
- * #end
1309
- * &lt;/ul&gt;
1310
- * </code></pre>
1311
- * would typically be replaced with this:
1312
- * <pre><code>
1313
- * #set ($propertyUtil = ...)
1314
- * ...
1315
- * #set ($escapedValueList = $propertyUtil.getNestedStringsEscaped($myNode, 'aNodeProperty', 'aProperty'))
1316
- * &lt;ul&gt;
1317
- * #foreach ($escapedValue in $escapedValueList)
1318
- * &lt;li&gt;
1319
- * $escapedValue
1320
- * &lt;/li&gt;
1321
- * #end
1322
- * &lt;/ul&gt;
1323
- * </code></pre>
1324
- *
1325
- * <p>
1326
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1327
- * Illegal characters in node names and property names must always be escaped, typically via
1328
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1329
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1330
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1331
- * (e.g. metadata properties) might contain illegal characters.
1332
- * </p>
1333
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1334
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1335
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1336
- * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>null</code> is returned.
1337
- * @see #getNestedStrings(javax.jcr.Node, String, String)
1338
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1339
- * @since Sitevision 3.5
1340
- */
1341
- export function getNestedStringsEscaped(
1342
- aNode: Node,
1343
- aNodePropertyName: string,
1344
- aPropertyName: string
1345
- ): unknown;
1346
-
1347
- /**
1348
- * Gets a <code>List</code> of property values from a "nested" Node's property with a fallback value if the property doesn't exist.
1349
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1350
- * has a <code>String</code> property).
1351
- *
1352
- * <p>
1353
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1354
- * Illegal characters in node names and property names must always be escaped, typically via
1355
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1356
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1357
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1358
- * (e.g. metadata properties) might contain illegal characters.
1359
- * </p>
1360
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1361
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1362
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1363
- * @param aDefaultValue fallback value if no value exists
1364
- * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>aDefaultValue</code> is returned.
1365
- * @since Sitevision 3.0
1366
- */
1367
- export function getNestedStrings(
1368
- aNode: Node,
1369
- aNodePropertyName: string,
1370
- aPropertyName: string,
1371
- aDefaultValue: unknown
1372
- ): unknown;
1373
-
1374
- /**
1375
- * Gets a <code>List</code> of property values from a "nested" Node's property with a fallback value if the property doesn't exist,
1376
- * and returns it XML escaped.
1377
- * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1378
- * has a <code>String</code> property).
1379
- *
1380
- * <p>
1381
- * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1382
- * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1383
- * </p>
1384
- * <p>
1385
- * This Velocity code:
1386
- * </p>
1387
- * <pre><code>
1388
- * #set ($endecUtil = ...)
1389
- * #set ($propertyUtil = ...)
1390
- * #set ($myDefaultList = ...)
1391
- * ...
1392
- * #set ($valueList = $propertyUtil.getNestedStrings($myNode, 'aNodeProperty', 'aProperty', $myDefaultList))
1393
- * &lt;ul&gt;
1394
- * #foreach ($value in $valueList)
1395
- * &lt;li&gt;
1396
- * $endecUtil.escapeXML($value)
1397
- * &lt;/li&gt;
1398
- * #end
1399
- * &lt;/ul&gt;
1400
- * </code></pre>
1401
- * would typically be replaced with this:
1402
- * <pre><code>
1403
- * #set ($propertyUtil = ...)
1404
- * #set ($myDefaultList = ...)
1405
- * ...
1406
- * #set ($escapedValueList = $propertyUtil.getNestedStringsEscaped($myNode, 'aNodeProperty', 'aProperty', $myDefaultList))
1407
- * &lt;ul&gt;
1408
- * #foreach ($escapedValue in $escapedValueList)
1409
- * &lt;li&gt;
1410
- * $escapedValue
1411
- * &lt;/li&gt;
1412
- * #end
1413
- * &lt;/ul&gt;
1414
- * </code></pre>
1415
- *
1416
- * <p>
1417
- * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1418
- * Illegal characters in node names and property names must always be escaped, typically via
1419
- * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1420
- * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1421
- * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1422
- * (e.g. metadata properties) might contain illegal characters.
1423
- * </p>
1424
- * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1425
- * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1426
- * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1427
- * @param aDefaultValue fallback list if no value exists. <strong>Note!</strong> The actual fallback list is <em>never</em> returned, but it's values might be used. If the fallback list are about to be returned, a copy of it will be created and all values from the fallback list will be XML escaped and added to the new list before it is returned.
1428
- * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>aDefaultValue</code> is XML escaped and returned.
1429
- * @see #getNestedStrings(javax.jcr.Node, String, String, java.util.List)
1430
- * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1431
- * @since Sitevision 3.5
1432
- */
1433
- export function getNestedStringsEscaped(
1434
- aNode: Node,
1435
- aNodePropertyName: string,
1436
- aPropertyName: string,
1437
- aDefaultValue: unknown
1438
- ): unknown;
3
+ import type Binary from "../../types/javax/jcr/Binary";
1439
4
 
1440
5
  /**
1441
6
  * Utility interface for getting Node property values.
@@ -1546,32 +111,1425 @@ export function getNestedStringsEscaped(
1546
111
  * </code></pre>
1547
112
  * @author Magnus Lövgren
1548
113
  */
1549
- declare namespace propertyUtil {
1550
- export {
1551
- getNestedString,
1552
- getNestedStringEscaped,
1553
- getNestedInt,
1554
- getNestedDouble,
1555
- getNestedBoolean,
1556
- getNestedNode,
1557
- getBinary,
1558
- getNestedBinary,
1559
- getString,
1560
- getStringEscaped,
1561
- getInt,
1562
- getDouble,
1563
- getBoolean,
1564
- getNode,
1565
- getEnabledNode,
1566
- getEnabledString,
1567
- getEnabledStringEscaped,
1568
- getCalendar,
1569
- getNestedCalendar,
1570
- getStrings,
1571
- getStringsEscaped,
1572
- getNestedStrings,
1573
- getNestedStringsEscaped,
1574
- };
114
+ export interface PropertyUtil {
115
+ /**
116
+ * Gets a String property from a "nested" Node's property.
117
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code> has a
118
+ * <code>String</code> property).
119
+ *
120
+ * <p>
121
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
122
+ * Illegal characters in node names and property names must always be escaped, typically via
123
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
124
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
125
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
126
+ * (e.g. metadata properties) might contain illegal characters.
127
+ * </p>
128
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
129
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
130
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
131
+ * @return the value for aPropertyName as <code>String</code>. If no property exists, <code>null</code> is returned.
132
+ * @see #getNestedStringEscaped(javax.jcr.Node, String, String)
133
+ */
134
+ getNestedString(
135
+ aNode: Node,
136
+ aNodePropertyName: string,
137
+ aPropertyName: string
138
+ ): string;
139
+
140
+ /**
141
+ * Gets a String property from a "nested" Node's property and returns it XML escaped.
142
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code> has a
143
+ * <code>String</code> property).
144
+ *
145
+ * <p>
146
+ * This is a convenience method for getting a "nested" String property that also should be XML escaped. A String that should be included
147
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
148
+ * </p>
149
+ * <p>
150
+ * This Velocity code:
151
+ * </p>
152
+ * <pre><code>
153
+ * #set ($endecUtil = ...)
154
+ * #set ($propertyUtil = ...)
155
+ * ...
156
+ * &lt;p&gt;
157
+ * $endecUtil.escapeXML($propertyUtil.getNestedString($myNode, 'aNodeProperty', 'aProperty'))
158
+ * &lt;/p&gt;
159
+ * </code></pre>
160
+ * would typically be replaced with this:
161
+ * <pre><code>
162
+ * #set ($propertyUtil = ...)
163
+ * ...
164
+ * &lt;p&gt;
165
+ * $!propertyUtil.getNestedStringEscaped($myNode, 'aNodeProperty', 'aProperty')
166
+ * &lt;/p&gt;
167
+ * </code></pre>
168
+ *
169
+ * <p>
170
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
171
+ * Illegal characters in node names and property names must always be escaped, typically via
172
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
173
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
174
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
175
+ * (e.g. metadata properties) might contain illegal characters.
176
+ * </p>
177
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
178
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
179
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
180
+ * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, <code>null</code> is returned.
181
+ * @see #getNestedString(javax.jcr.Node, String, String)
182
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
183
+ * @since Sitevision 3.5
184
+ */
185
+ getNestedStringEscaped(
186
+ aNode: Node,
187
+ aNodePropertyName: string,
188
+ aPropertyName: string
189
+ ): string;
190
+
191
+ /**
192
+ * Gets a String property from a "nested" Node's property with a fallback value if the property doesn't exist.
193
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code> has a
194
+ * <code>String</code> property).
195
+ *
196
+ * <p>
197
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
198
+ * Illegal characters in node names and property names must always be escaped, typically via
199
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
200
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
201
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
202
+ * (e.g. metadata properties) might contain illegal characters.
203
+ * </p>
204
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
205
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
206
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
207
+ * @param aDefaultValue fallback value if no value exists
208
+ * @return the value for aPropertyName as <code>String</code>. If no property exists, aDefaultValue is returned.
209
+ * @see #getNestedStringEscaped(javax.jcr.Node, String, String, String)
210
+ */
211
+ getNestedString(
212
+ aNode: Node,
213
+ aNodePropertyName: string,
214
+ aPropertyName: string,
215
+ aDefaultValue: string
216
+ ): string;
217
+
218
+ /**
219
+ * Gets a String property from a "nested" Node's property with a fallback value if the property doesn't exist, and returns it XML escaped.
220
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
221
+ * has a <code>String</code> property).
222
+ *
223
+ * <p>
224
+ * This is a convenience method for getting a "nested" String property that also should be XML escaped. A String that should be included
225
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
226
+ * </p>
227
+ * <p>
228
+ * This Velocity code:
229
+ * </p>
230
+ * <pre><code>
231
+ * #set ($endecUtil = ...)
232
+ * #set ($propertyUtil = ...)
233
+ * ...
234
+ * &lt;p&gt;
235
+ * $endecUtil.escapeXML($propertyUtil.getNestedString($myNode, 'aNodeProperty', 'aProperty', 'a default value'))
236
+ * &lt;/p&gt;
237
+ * </code></pre>
238
+ * would typically be replaced with this:
239
+ * <pre><code>
240
+ * #set ($propertyUtil = ...)
241
+ * ...
242
+ * &lt;p&gt;
243
+ * $propertyUtil.getNestedStringEscaped($myNode, 'aNodeProperty', 'aProperty', 'a default value')
244
+ * &lt;/p&gt;
245
+ * </code></pre>
246
+ *
247
+ * <p>
248
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
249
+ * Illegal characters in node names and property names must always be escaped, typically via
250
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
251
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
252
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
253
+ * (e.g. metadata properties) might contain illegal characters.
254
+ * </p>
255
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
256
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
257
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
258
+ * @param aDefaultValue a (non XML escaped) fallback value if no value exists
259
+ * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, aDefaultValue is XML escaped and returned.
260
+ * @see #getNestedString(javax.jcr.Node, String, String, String)
261
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
262
+ * @since Sitevision 3.5
263
+ */
264
+ getNestedStringEscaped(
265
+ aNode: Node,
266
+ aNodePropertyName: string,
267
+ aPropertyName: string,
268
+ aDefaultValue: string
269
+ ): string;
270
+
271
+ /**
272
+ * Gets an int property from a "nested" Node's property.
273
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
274
+ * has an <code>int/Integer</code> property).
275
+ *
276
+ * <p>
277
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
278
+ * Illegal characters in node names and property names must always be escaped, typically via
279
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
280
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
281
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
282
+ * (e.g. metadata properties) might contain illegal characters.
283
+ * </p>
284
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
285
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
286
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
287
+ * @return the value for aPropertyName as <code>int</code>. If no property exists or it isn't compatible with an <code>int</code>, 0 is returned.
288
+ */
289
+ getNestedInt(
290
+ aNode: Node,
291
+ aNodePropertyName: string,
292
+ aPropertyName: string
293
+ ): number;
294
+
295
+ /**
296
+ * Gets an int property from a "nested" Node's property with a fallback value if the property doesn't exist or is incompatible with the int type.
297
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
298
+ * has an <code>int/Integer</code> property).
299
+ *
300
+ * <p>
301
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
302
+ * Illegal characters in node names and property names must always be escaped, typically via
303
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
304
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
305
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
306
+ * (e.g. metadata properties) might contain illegal characters.
307
+ * </p>
308
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
309
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
310
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
311
+ * @param aDefaultValue fallback value if no value exists
312
+ * @return the value for aPropertyName as <code>int</code>. If no property exists or it isn't compatible with an <code>int</code>, aDefaultValue is returned.
313
+ */
314
+ getNestedInt(
315
+ aNode: Node,
316
+ aNodePropertyName: string,
317
+ aPropertyName: string,
318
+ aDefaultValue: number
319
+ ): number;
320
+
321
+ /**
322
+ * Gets a double property from a "nested" Node's property.
323
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
324
+ * has a <code>double/Double</code> property).
325
+ *
326
+ * <p>
327
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
328
+ * Illegal characters in node names and property names must always be escaped, typically via
329
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
330
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
331
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
332
+ * (e.g. metadata properties) might contain illegal characters.
333
+ * </p>
334
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
335
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
336
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
337
+ * @return the value for aPropertyName as <code>double</code>. If no property exists or it isn't compatible with a <code>double</code>, 0.0 is returned.
338
+ * @since Sitevision 2.6.1_09
339
+ */
340
+ getNestedDouble(
341
+ aNode: Node,
342
+ aNodePropertyName: string,
343
+ aPropertyName: string
344
+ ): number;
345
+
346
+ /**
347
+ * Gets a double property from a "nested" Node's property with a fallback value if the property doesn't exist or is incompatible
348
+ * with the double type.
349
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
350
+ * has a <code>double/Double</code> property).
351
+ *
352
+ * <p>
353
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
354
+ * Illegal characters in node names and property names must always be escaped, typically via
355
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
356
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
357
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
358
+ * (e.g. metadata properties) might contain illegal characters.
359
+ * </p>
360
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
361
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
362
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
363
+ * @param aDefaultValue fallback value if no value exists
364
+ * @return the value for aPropertyName as <code>double</code>. If no property exists or it isn't compatible with a <code>double</code>, aDefaultValue is returned.
365
+ * @since Sitevision 2.6.1_09
366
+ */
367
+ getNestedDouble(
368
+ aNode: Node,
369
+ aNodePropertyName: string,
370
+ aPropertyName: string,
371
+ aDefaultValue: number
372
+ ): number;
373
+
374
+ /**
375
+ * Gets a boolean property from a "nested" Node's property.
376
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
377
+ * has a <code>Boolean</code> property).
378
+ *
379
+ * <p>
380
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
381
+ * Illegal characters in node names and property names must always be escaped, typically via
382
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
383
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
384
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
385
+ * (e.g. metadata properties) might contain illegal characters.
386
+ * </p>
387
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
388
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
389
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
390
+ * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, <code>false</code> is returned.
391
+ */
392
+ getNestedBoolean(
393
+ aNode: Node,
394
+ aNodePropertyName: string,
395
+ aPropertyName: string
396
+ ): boolean;
397
+
398
+ /**
399
+ * Gets a boolean property from a "nested" Node's property with a fallback value if the property doesn't exist or is incompatible
400
+ * with the boolean type.
401
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
402
+ * has a <code>Boolean</code> property).
403
+ *
404
+ * <p>
405
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
406
+ * Illegal characters in node names and property names must always be escaped, typically via
407
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
408
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
409
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
410
+ * (e.g. metadata properties) might contain illegal characters.
411
+ * </p>
412
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
413
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
414
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
415
+ * @param aDefaultValue fallback value if no value exists
416
+ * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, aDefaultValue is returned.
417
+ */
418
+ getNestedBoolean(
419
+ aNode: Node,
420
+ aNodePropertyName: string,
421
+ aPropertyName: string,
422
+ aDefaultValue: boolean
423
+ ): boolean;
424
+
425
+ /**
426
+ * Gets a Node property from a "nested" Node's property.
427
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
428
+ * has a <code>Node</code> property).
429
+ *
430
+ * <p>
431
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
432
+ * Illegal characters in node names and property names must always be escaped, typically via
433
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
434
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
435
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
436
+ * (e.g. metadata properties) might contain illegal characters.
437
+ * </p>
438
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
439
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
440
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
441
+ * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>null</code> is returned.
442
+ */
443
+ getNestedNode(
444
+ aNode: Node,
445
+ aNodePropertyName: string,
446
+ aPropertyName: string
447
+ ): Node;
448
+
449
+ /**
450
+ * Gets a Node property from a "nested" Node's property with a fallback value if the property doesn't exist.
451
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
452
+ * has a <code>Node</code> property).
453
+ *
454
+ * <p>
455
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
456
+ * Illegal characters in node names and property names must always be escaped, typically via
457
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
458
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
459
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
460
+ * (e.g. metadata properties) might contain illegal characters.
461
+ * </p>
462
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
463
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
464
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
465
+ * @param aDefaultValue fallback value if no value exists
466
+ * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, aDefaultValue is returned.
467
+ */
468
+ getNestedNode(
469
+ aNode: Node,
470
+ aNodePropertyName: string,
471
+ aPropertyName: string,
472
+ aDefaultValue: Node
473
+ ): Node;
474
+
475
+ /**
476
+ * Gets a Binary property from a Node.
477
+ *
478
+ * <p>
479
+ * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
480
+ * you must also <code>close</code> the stream when you are done.
481
+ * </p>
482
+ *
483
+ * <p>
484
+ * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
485
+ * </p>
486
+ *
487
+ * <p>
488
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
489
+ * Illegal characters in node names and property names must always be escaped, typically via
490
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
491
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
492
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
493
+ * (e.g. metadata properties) might contain illegal characters.
494
+ * </p>
495
+ * @param aNode the <code>Node</code> that has a property
496
+ * @param aPropertyName the name of the property
497
+ * @return the value for aPropertyName as <code>Binary</code>. If no property exists, <code>null</code> is returned.
498
+ * @since Sitevision 3.5
499
+ */
500
+ getBinary(aNode: Node, aPropertyName: string): Binary;
501
+
502
+ /**
503
+ * Gets a Binary property from a node with a fallback value if the property doesn't exist.
504
+ *
505
+ * <p>
506
+ * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
507
+ * you must also <code>close</code> the stream when you are done.
508
+ * </p>
509
+ *
510
+ * <p>
511
+ * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
512
+ * </p>
513
+ *
514
+ * <p>
515
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
516
+ * Illegal characters in node names and property names must always be escaped, typically via
517
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
518
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
519
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
520
+ * (e.g. metadata properties) might contain illegal characters.
521
+ * </p>
522
+ * @param aNode the <code>Node</code> that has a property
523
+ * @param aPropertyName the name of the property
524
+ * @param aDefaultValue fallback value if no value exists
525
+ * @return the value for aPropertyName as <code>Binary</code>. If no property exists, aDefaultValue is returned.
526
+ * @since Sitevision 3.5
527
+ */
528
+ getBinary(aNode: Node, aPropertyName: string, aDefaultValue: Binary): Binary;
529
+
530
+ /**
531
+ * Gets a Binary property from a "nested" Node's property.
532
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
533
+ * has a <code>Binary</code> property).
534
+ *
535
+ * <p>
536
+ * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
537
+ * you must also <code>close</code> the stream when you are done.
538
+ * </p>
539
+ *
540
+ * <p>
541
+ * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
542
+ * </p>
543
+ *
544
+ * <p>
545
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
546
+ * Illegal characters in node names and property names must always be escaped, typically via
547
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
548
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
549
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
550
+ * (e.g. metadata properties) might contain illegal characters.
551
+ * </p>
552
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
553
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
554
+ * @param aPropertyName the name of the Binary property for the "inner/nested" <code>Node</code>
555
+ * @return the value for aPropertyName as <code>Binary</code>. If no property exists or it isn't a <code>Binary</code>, <code>null</code> is returned.
556
+ * @since Sitevision 3.5
557
+ */
558
+ getNestedBinary(
559
+ aNode: Node,
560
+ aNodePropertyName: string,
561
+ aPropertyName: string
562
+ ): Binary;
563
+
564
+ /**
565
+ * Gets a Binary property from a "nested" Node's property with a fallback value if the property doesn't exist.
566
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
567
+ * has a <code>Binary</code> property).
568
+ *
569
+ * <p>
570
+ * Ensure to always handle resources appropriately when working with Binary! If you get a stream via {@link javax.jcr.Binary#getStream()},
571
+ * you must also <code>close</code> the stream when you are done.
572
+ * </p>
573
+ *
574
+ * <p>
575
+ * <strong>Note!</strong> The <code>Binary</code> support is limited, see {@link javax.jcr.Property#getBinary()} for more information!
576
+ * </p>
577
+ *
578
+ * <p>
579
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
580
+ * Illegal characters in node names and property names must always be escaped, typically via
581
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
582
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
583
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
584
+ * (e.g. metadata properties) might contain illegal characters.
585
+ * </p>
586
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
587
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
588
+ * @param aPropertyName the name of the Binary property for the "inner/nested" <code>Node</code>
589
+ * @param aDefaultValue fallback value if no value exists
590
+ * @return the value for aPropertyName as <code>Binary</code>. If no property exists or it isn't a <code>Binary</code>, aDefaultValue is returned.
591
+ * @since Sitevision 3.5
592
+ */
593
+ getNestedBinary(
594
+ aNode: Node,
595
+ aNodePropertyName: string,
596
+ aPropertyName: string,
597
+ aDefaultValue: Binary
598
+ ): Binary;
599
+
600
+ /**
601
+ * Gets a String property from a Node.
602
+ *
603
+ * <p>
604
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
605
+ * Illegal characters in node names and property names must always be escaped, typically via
606
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
607
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
608
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
609
+ * (e.g. metadata properties) might contain illegal characters.
610
+ * </p>
611
+ * @param aNode the <code>Node</code> that has a property
612
+ * @param aPropertyName the name of the property
613
+ * @return the value for aPropertyName as <code>String</code>. If no property exists, <code>null</code> is returned.
614
+ * @see #getStringEscaped(javax.jcr.Node, String)
615
+ */
616
+ getString(aNode: Node, aPropertyName: string): string;
617
+
618
+ /**
619
+ * Gets a String property from a Node and returns it XML escaped.
620
+ *
621
+ * <p>
622
+ * This is a convenience method for getting a String property that also should be XML escaped. A String that should be included
623
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
624
+ * </p>
625
+ * <p>
626
+ * This Velocity code:
627
+ * </p>
628
+ * <pre><code>
629
+ * #set ($endecUtil = ...)
630
+ * #set ($propertyUtil = ...)
631
+ * ...
632
+ * &lt;p&gt;
633
+ * $endecUtil.escapeXML($propertyUtil.getString($myNode, 'aProperty'))
634
+ * &lt;/p&gt;
635
+ * </code></pre>
636
+ * would typically be replaced with this:
637
+ * <pre><code>
638
+ * #set ($propertyUtil = ...)
639
+ * ...
640
+ * &lt;p&gt;
641
+ * $!propertyUtil.getStringEscaped($myNode, 'aProperty')
642
+ * &lt;/p&gt;
643
+ * </code></pre>
644
+ *
645
+ * <p>
646
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
647
+ * Illegal characters in node names and property names must always be escaped, typically via
648
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
649
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
650
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
651
+ * (e.g. metadata properties) might contain illegal characters.
652
+ * </p>
653
+ * @param aNode the <code>Node</code> that has a property
654
+ * @param aPropertyName the name of the property
655
+ * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, <code>null</code> is returned.
656
+ * @see #getString(javax.jcr.Node, String)
657
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
658
+ * @since Sitevision 3.5
659
+ */
660
+ getStringEscaped(aNode: Node, aPropertyName: string): string;
661
+
662
+ /**
663
+ * Gets a String property from a node with a fallback value if the property doesn't exist.
664
+ *
665
+ * <p>
666
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
667
+ * Illegal characters in node names and property names must always be escaped, typically via
668
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
669
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
670
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
671
+ * (e.g. metadata properties) might contain illegal characters.
672
+ * </p>
673
+ * @param aNode the <code>Node</code> that has a property
674
+ * @param aPropertyName the name of the property
675
+ * @param aDefaultValue fallback value if no value exists
676
+ * @return the value for aPropertyName as <code>String</code>. If no property exists, aDefaultValue is returned.
677
+ * @see #getStringEscaped(javax.jcr.Node, String, String)
678
+ */
679
+ getString(aNode: Node, aPropertyName: string, aDefaultValue: string): string;
680
+
681
+ /**
682
+ * Gets a String property from a Node, with a fallback value, and returns it XML escaped.
683
+ *
684
+ * <p>
685
+ * This is a convenience method for getting a String property that also should be XML escaped. A String that should be included
686
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
687
+ * </p>
688
+ * <p>
689
+ * This Velocity code:
690
+ * </p>
691
+ * <pre><code>
692
+ * #set ($endecUtil = ...)
693
+ * #set ($propertyUtil = ...)
694
+ * ...
695
+ * &lt;p&gt;
696
+ * $endecUtil.escapeXML($propertyUtil.getString($myNode, 'aProperty', 'a default value'))
697
+ * &lt;/p&gt;
698
+ * </code></pre>
699
+ * would typically be replaced with this:
700
+ * <pre><code>
701
+ * #set ($propertyUtil = ...)
702
+ * ...
703
+ * &lt;p&gt;
704
+ * $propertyUtil.getStringEscaped($myNode, 'aProperty', 'a default value')
705
+ * &lt;/p&gt;
706
+ * </code></pre>
707
+ *
708
+ * <p>
709
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
710
+ * Illegal characters in node names and property names must always be escaped, typically via
711
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
712
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
713
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
714
+ * (e.g. metadata properties) might contain illegal characters.
715
+ * </p>
716
+ * @param aNode the <code>Node</code> that has a property
717
+ * @param aPropertyName the name of the property
718
+ * @param aDefaultValue a (non XML escaped) fallback value if no value exists
719
+ * @return the value for aPropertyName as an XML escaped <code>String</code>. If no property exists, aDefaultValue is XML escaped and returned.
720
+ * @see #getString(javax.jcr.Node, String, String)
721
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
722
+ * @since Sitevision 3.5
723
+ */
724
+ getStringEscaped(
725
+ aNode: Node,
726
+ aPropertyName: string,
727
+ aDefaultValue: string
728
+ ): string;
729
+
730
+ /**
731
+ * Gets an int property from a Node.
732
+ *
733
+ * <p>
734
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
735
+ * Illegal characters in node names and property names must always be escaped, typically via
736
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
737
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
738
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
739
+ * (e.g. metadata properties) might contain illegal characters.
740
+ * </p>
741
+ * @param aNode the <code>Node</code> that has a property
742
+ * @param aPropertyName the name of the property
743
+ * @return the <code>int</code> value for aPropertyName. If no property exists or it isn't compatible with an <code>int</code>, 0 is returned.
744
+ */
745
+ getInt(aNode: Node, aPropertyName: string): number;
746
+
747
+ /**
748
+ * Gets an int property from a node with a fallback value if the property doesn't exist or is incompatible with the int type.
749
+ *
750
+ * <p>
751
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
752
+ * Illegal characters in node names and property names must always be escaped, typically via
753
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
754
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
755
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
756
+ * (e.g. metadata properties) might contain illegal characters.
757
+ * </p>
758
+ * @param aNode the <code>Node</code> that has a property
759
+ * @param aPropertyName the name of the property
760
+ * @param aDefaultValue fallback value if no value exists
761
+ * @return the <code>int</code> value for aPropertyName. If no property exists or it isn't compatible with an <code>int</code>, aDefaultValue is returned.
762
+ */
763
+ getInt(aNode: Node, aPropertyName: string, aDefaultValue: number): number;
764
+
765
+ /**
766
+ * Gets a double property from a Node.
767
+ *
768
+ * <p>
769
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
770
+ * Illegal characters in node names and property names must always be escaped, typically via
771
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
772
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
773
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
774
+ * (e.g. metadata properties) might contain illegal characters.
775
+ * </p>
776
+ * @param aNode the <code>Node</code> that has a property
777
+ * @param aPropertyName the name of the property
778
+ * @return the <code>double</code> value for aPropertyName. If no property exists or it isn't compatible with a <code>double</code>, 0.0 is returned.
779
+ * @since Sitevision 2.6.1_09
780
+ */
781
+ getDouble(aNode: Node, aPropertyName: string): number;
782
+
783
+ /**
784
+ * Gets a double property from a node with a fallback value if the property doesn't exist or is incompatible with the double type.
785
+ *
786
+ * <p>
787
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
788
+ * Illegal characters in node names and property names must always be escaped, typically via
789
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
790
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
791
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
792
+ * (e.g. metadata properties) might contain illegal characters.
793
+ * </p>
794
+ * @param aNode the <code>Node</code> that has a property
795
+ * @param aPropertyName the name of the property
796
+ * @param aDefaultValue fallback value if no value exists
797
+ * @return the <code>double</code> value for aPropertyName. If no property exists or it isn't compatible with a <code>double</code>, aDefaultValue is returned.
798
+ * @since Sitevision 2.6.1_09
799
+ */
800
+ getDouble(aNode: Node, aPropertyName: string, aDefaultValue: number): number;
801
+
802
+ /**
803
+ * Gets a boolean property from a Node.
804
+ *
805
+ * <p>
806
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
807
+ * Illegal characters in node names and property names must always be escaped, typically via
808
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
809
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
810
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
811
+ * (e.g. metadata properties) might contain illegal characters.
812
+ * </p>
813
+ * @param aNode the <code>Node</code> that has a property
814
+ * @param aPropertyName the name of the property
815
+ * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, <code>false</code> is returned.
816
+ */
817
+ getBoolean(aNode: Node, aPropertyName: string): boolean;
818
+
819
+ /**
820
+ * Gets a boolean property from a Node with a fallback value if the property doesn't exist or is incompatible with the boolean type.
821
+ *
822
+ * <p>
823
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
824
+ * Illegal characters in node names and property names must always be escaped, typically via
825
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
826
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
827
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
828
+ * (e.g. metadata properties) might contain illegal characters.
829
+ * </p>
830
+ * @param aNode the <code>Node</code> that has a property
831
+ * @param aPropertyName the name of the property
832
+ * @param aDefaultValue fallback value if no value exists
833
+ * @return the value for aPropertyName as <code>boolean</code>. If no property exists or it isn't compatible with a <code>boolean</code>, aDefaultValue is returned.
834
+ */
835
+ getBoolean(
836
+ aNode: Node,
837
+ aPropertyName: string,
838
+ aDefaultValue: boolean
839
+ ): boolean;
840
+
841
+ /**
842
+ * Gets a Node property from a Node.
843
+ *
844
+ * <p>
845
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
846
+ * Illegal characters in node names and property names must always be escaped, typically via
847
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
848
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
849
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
850
+ * (e.g. metadata properties) might contain illegal characters.
851
+ * </p>
852
+ * @param aNode the <code>Node</code> that has a property
853
+ * @param aPropertyName the name of the property
854
+ * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>null</code> is returned.
855
+ */
856
+ getNode(aNode: Node, aPropertyName: string): Node;
857
+
858
+ /**
859
+ * Gets a Node property from a Node if an enabling property allows it.
860
+ *
861
+ * <p>
862
+ * In some Sitevision portlet configs there are a "boolean" property that enables a "Node" property and the "Node" might be <code>null</code>.
863
+ * This is a convenience method for such cases. In Velocity, code like this:
864
+ * </p>
865
+ * <pre><code>
866
+ * #set ($startPage = ...) <em>## Ensure start page value...</em>
867
+ * #if ($propertyUtil.getBoolean($portlet, 'useCustomStartPage'))
868
+ * #set ($customStartPage = $scriptUtil.getNonNull(${propertyUtil.getNode($portlet, 'customStartPage')}))
869
+ * #if ($customStartPage)
870
+ * #set ($startPage = $customStartPage)
871
+ * #end
872
+ * #end
873
+ * </code></pre>
874
+ * would typically be replaced with this:
875
+ * <pre><code>
876
+ * #set ($startPage = $scriptUtil.getNonNull(${propertyUtil.getEnabledNode($portlet, 'useCustomStartPage', 'customStartPage')}))
877
+ * #if (!$startPage)
878
+ * #set ($startPage = ...) <em>## Set default start page value if no custom start page was set...</em>
879
+ * #end
880
+ * </code></pre>
881
+ *
882
+ * <p>
883
+ * <strong>Note!</strong> This method does <em>not</em> escape names
884
+ * (i.e. <code>aEnablingPropertyName</code> and <code>aNodePropertyName</code>).
885
+ * Illegal characters in node names and property names must always be escaped, typically via
886
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
887
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
888
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
889
+ * (e.g. metadata properties) might contain illegal characters.
890
+ * </p>
891
+ * @param aNode the <code>Node</code> that has the properties
892
+ * @param aEnablingPropertyName the name of the boolean property that enables the Node denoted by <code>aPropertyName</code>
893
+ * @param aNodePropertyName the name of the property
894
+ * @return the value for aNodePropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>null</code> is returned. A <code>Node</code> will never be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
895
+ * @see #getEnabledNode(javax.jcr.Node, String, String, javax.jcr.Node)
896
+ * @since Sitevision 3.0
897
+ */
898
+ getEnabledNode(
899
+ aNode: Node,
900
+ aEnablingPropertyName: string,
901
+ aNodePropertyName: string
902
+ ): Node;
903
+
904
+ /**
905
+ * Gets a Node property from a Node if an enabling property allows it, with a fallback Node value.
906
+ *
907
+ * <p>
908
+ * <strong>Note!</strong> This method does <em>not</em> escape names
909
+ * (i.e. <code>aEnablingPropertyName</code> and <code>aNodePropertyName</code>).
910
+ * Illegal characters in node names and property names must always be escaped, typically via
911
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
912
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
913
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
914
+ * (e.g. metadata properties) might contain illegal characters.
915
+ * </p>
916
+ * @param aNode the <code>Node</code> that has the properties
917
+ * @param aEnablingPropertyName the name of the boolean property that enables the Node denoted by <code>aPropertyName</code>
918
+ * @param aNodePropertyName the name of the property
919
+ * @param aDefaultValue fallback value if no value exists
920
+ * @return the value for aNodePropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, <code>aDefaultValue</code> is returned. If <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>, <code>aDefaultValue</code> is returned.
921
+ * @see #getEnabledNode(javax.jcr.Node, String, String)
922
+ * @since Sitevision 3.0
923
+ */
924
+ getEnabledNode(
925
+ aNode: Node,
926
+ aEnablingPropertyName: string,
927
+ aNodePropertyName: string,
928
+ aDefaultValue: Node
929
+ ): Node;
930
+
931
+ /**
932
+ * Gets a String property from a Node if an enabling boolean property allows it.
933
+ *
934
+ * <p>
935
+ * In some Sitevision portlet configs there are a "boolean" property that enables a "String" property and the "String" might
936
+ * be <code>null</code>. This is a convenience method for such cases. In Velocity, code like this:
937
+ * </p>
938
+ * <pre><code>
939
+ * #set ($name = ...) <em>## Set default name...</em>
940
+ * #if ($propertyUtil.getBoolean($portlet, 'useCustomName'))
941
+ * #set ($customName = $scriptUtil.getNonNull(${propertyUtil.getNode($portlet, 'customName')}))
942
+ * #if ($customName)
943
+ * #set ($name = $customName)
944
+ * #end
945
+ * #end
946
+ * </code></pre>
947
+ * would typically be replaced with this:
948
+ * <pre><code>
949
+ * #set ($name = $scriptUtil.getNonNull(${propertyUtil.getEnabledString($portlet, 'useCustomName', 'customName')}))
950
+ * #if (!$name)
951
+ * #set ($name = ...) <em>## Set default name if no custom name was set...</em>
952
+ * #end
953
+ * </code></pre>
954
+ *
955
+ * <p>
956
+ * <strong>Note!</strong> This method does <em>not</em> escape names
957
+ * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
958
+ * Illegal characters in node names and property names must always be escaped, typically via
959
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
960
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
961
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
962
+ * (e.g. metadata properties) might contain illegal characters.
963
+ * </p>
964
+ * @param aNode the <code>Node</code> that has the properties
965
+ * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
966
+ * @param aStringPropertyName the name of the String property
967
+ * @return the value for aStringPropertyName as <code>String</code>. If no property exists, <code>null</code> is returned. Null will always be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
968
+ * @see #getEnabledString(javax.jcr.Node, String, String, String)
969
+ * @since Sitevision 4.0
970
+ */
971
+ getEnabledString(
972
+ aNode: Node,
973
+ aEnablingPropertyName: string,
974
+ aStringPropertyName: string
975
+ ): string;
976
+
977
+ /**
978
+ * Gets a String property from a Node if an enabling boolean property allows it, with a fallback value.
979
+ *
980
+ * <p>
981
+ * <strong>Note!</strong> This method does <em>not</em> escape names
982
+ * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
983
+ * Illegal characters in node names and property names must always be escaped, typically via
984
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
985
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
986
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
987
+ * (e.g. metadata properties) might contain illegal characters.
988
+ * </p>
989
+ * @param aNode the <code>Node</code> that has the properties
990
+ * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
991
+ * @param aStringPropertyName the name of the String property
992
+ * @param aDefaultValue fallback value to return if no value exist
993
+ * @return the value for aStringPropertyName as <code>String</code>. If no property exists, <code>aDefaultValue</code> is returned. <code>aDefaultValue</code> will always be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
994
+ * @see #getEnabledString(javax.jcr.Node, String, String)
995
+ * @since Sitevision 4.0
996
+ */
997
+ getEnabledString(
998
+ aNode: Node,
999
+ aEnablingPropertyName: string,
1000
+ aStringPropertyName: string,
1001
+ aDefaultValue: string
1002
+ ): string;
1003
+
1004
+ /**
1005
+ * Gets a String property from a Node if an enabling boolean property allows it, and returns it XML escaped.
1006
+ *
1007
+ * <p>
1008
+ * In some Sitevision portlet configs there are a "boolean" property that enables a "String" property and the "String"
1009
+ * might be <code>null</code>. This is a convenience method for such cases where you want the value XML escaped. In Velocity, code like this:
1010
+ * </p>
1011
+ * <pre><code>
1012
+ * #set ($endecUtil = ...)
1013
+ * #set ($escapedName = ...) <em>## Set default escaped name...</em>
1014
+ * #if ($propertyUtil.getBoolean($portlet, 'useCustomName'))
1015
+ * #set ($customName = $scriptUtil.getNonNull(${propertyUtil.getNode($portlet, 'customName')}))
1016
+ * #if ($customName)
1017
+ * #set ($escapedName = $endecUtil.escapeXML($customName))
1018
+ * #end
1019
+ * #end
1020
+ * </code></pre>
1021
+ * would typically be replaced with this:
1022
+ * <pre><code>
1023
+ * #set ($escapedName = $scriptUtil.getNonNull(${propertyUtil.getEnabledStringEscaped($portlet, 'useCustomName', 'customName')}))
1024
+ * #if (!$escapedName)
1025
+ * #set ($escapedName = ...) <em>## Set default escaped name if no custom name was set...</em>
1026
+ * #end
1027
+ * </code></pre>
1028
+ *
1029
+ * <p>
1030
+ * <strong>Note!</strong> This method does <em>not</em> escape names
1031
+ * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
1032
+ * Illegal characters in node names and property names must always be escaped, typically via
1033
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1034
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1035
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1036
+ * (e.g. metadata properties) might contain illegal characters.
1037
+ * </p>
1038
+ * @param aNode the <code>Node</code> that has the properties
1039
+ * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
1040
+ * @param aStringPropertyName the name of the String property
1041
+ * @return the value for aStringPropertyName as a XML escaped <code>String</code>. If no property exists, <code>null</code> is returned. Null will always be returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
1042
+ * @see #getEnabledStringEscaped(javax.jcr.Node, String, String, String)
1043
+ * @since Sitevision 4.0
1044
+ */
1045
+ getEnabledStringEscaped(
1046
+ aNode: Node,
1047
+ aEnablingPropertyName: string,
1048
+ aStringPropertyName: string
1049
+ ): string;
1050
+
1051
+ /**
1052
+ * Gets a String property from a Node if an enabling boolean property allows it, and returns it XML escaped with a fallback value.
1053
+ *
1054
+ * <p>
1055
+ * <strong>Note!</strong> This method does <em>not</em> escape names
1056
+ * (i.e. <code>aEnablingPropertyName</code> and <code>aStringPropertyName</code>).
1057
+ * Illegal characters in node names and property names must always be escaped, typically via
1058
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1059
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1060
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1061
+ * (e.g. metadata properties) might contain illegal characters.
1062
+ * </p>
1063
+ * @param aNode the <code>Node</code> that has the properties
1064
+ * @param aEnablingPropertyName the name of the boolean property that enables the String denoted by <code>aStringPropertyName</code>
1065
+ * @param aStringPropertyName the name of the String property
1066
+ * @param aDefaultValue the (non XML escaped) fallback value to return if no value exist
1067
+ * @return the value for aStringPropertyName as a XML escaped <code>String</code>. If no property exists, <code>aDefaultValue</code> is XML escaped and returned. <code>aDefaultValue</code> will always be XML escaped and returned if <code>aEnablingPropertyName</code> doesn't exist, isn't compatible with a <code>boolean</code> or isn't <code>true</code>.
1068
+ * @see #getEnabledStringEscaped(javax.jcr.Node, String, String)
1069
+ * @since Sitevision 4.0
1070
+ */
1071
+ getEnabledStringEscaped(
1072
+ aNode: Node,
1073
+ aEnablingPropertyName: string,
1074
+ aStringPropertyName: string,
1075
+ aDefaultValue: string
1076
+ ): string;
1077
+
1078
+ /**
1079
+ * Gets a Calendar property from a Node.
1080
+ *
1081
+ * <p>
1082
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1083
+ * Illegal characters in node names and property names must always be escaped, typically via
1084
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1085
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1086
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1087
+ * (e.g. metadata properties) might contain illegal characters.
1088
+ * </p>
1089
+ * @param aNode the <code>Node</code> that has a property
1090
+ * @param aPropertyName the name of the property
1091
+ * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't a <code>Calendar</code>, <code>null</code> is returned.
1092
+ * @since Sitevision 2.6.1_02
1093
+ */
1094
+ getCalendar(aNode: Node, aPropertyName: string): unknown;
1095
+
1096
+ /**
1097
+ * Gets a Calendar property from a Node with a fallback value if the property doesn't exist or is incompatible with the Calendar type.
1098
+ *
1099
+ * <p>
1100
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1101
+ * Illegal characters in node names and property names must always be escaped, typically via
1102
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1103
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1104
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1105
+ * (e.g. metadata properties) might contain illegal characters.
1106
+ * </p>
1107
+ * @param aNode the <code>Node</code> that has a property
1108
+ * @param aPropertyName the name of the property
1109
+ * @param aDefaultValue fallback value if no value exists
1110
+ * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't compatible with a <code>Calendar</code>, aDefaultValue is returned.
1111
+ * @since Sitevision 2.6.1_02
1112
+ */
1113
+ getCalendar(
1114
+ aNode: Node,
1115
+ aPropertyName: string,
1116
+ aDefaultValue: unknown
1117
+ ): unknown;
1118
+
1119
+ /**
1120
+ * Gets a Calendar property from a "nested" Node's property.
1121
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1122
+ * has a <code>Calendar/Date</code> property).
1123
+ * <p>
1124
+ * Note! The name of this method might seem awkward since a <code>Calendar</code> is returned, but this is to resemble the pattern of a
1125
+ * <code>javax.jcr.Node</code> that has the method <code>getDate()</code> that returns a <code>Calendar</code>.
1126
+ * </p>
1127
+ *
1128
+ * <p>
1129
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1130
+ * Illegal characters in node names and property names must always be escaped, typically via
1131
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1132
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1133
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1134
+ * (e.g. metadata properties) might contain illegal characters.
1135
+ * </p>
1136
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1137
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
1138
+ * @param aPropertyName the name of the Calendar property for the "inner/nested" <code>Node</code>
1139
+ * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't a <code>Calendar</code>, <code>null</code> is returned.
1140
+ * @since Sitevision 2.6.1_02
1141
+ */
1142
+ getNestedCalendar(
1143
+ aNode: Node,
1144
+ aNodePropertyName: string,
1145
+ aPropertyName: string
1146
+ ): unknown;
1147
+
1148
+ /**
1149
+ * Gets a Calendar property from a "nested" Node's property with a fallback value if the property doesn't exist.
1150
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1151
+ * has a <code>Calendar/Date</code> property).
1152
+ *
1153
+ * <p>
1154
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1155
+ * Illegal characters in node names and property names must always be escaped, typically via
1156
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1157
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1158
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1159
+ * (e.g. metadata properties) might contain illegal characters.
1160
+ * </p>
1161
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1162
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on <code>aNode</code>
1163
+ * @param aPropertyName the name of the Calendar property for the "inner/nested" <code>Node</code>
1164
+ * @param aDefaultValue fallback value if no value exists
1165
+ * @return the value for aPropertyName as <code>Calendar</code>. If no property exists or it isn't a <code>Calendar</code>, aDefaultValue is returned.
1166
+ * @since Sitevision 2.6.1_02
1167
+ */
1168
+ getNestedCalendar(
1169
+ aNode: Node,
1170
+ aNodePropertyName: string,
1171
+ aPropertyName: string,
1172
+ aDefaultValue: unknown
1173
+ ): unknown;
1174
+
1175
+ /**
1176
+ * Gets a Node property from a Node with a fallback value if the property doesn't exist.
1177
+ *
1178
+ * <p>
1179
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1180
+ * Illegal characters in node names and property names must always be escaped, typically via
1181
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1182
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1183
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1184
+ * (e.g. metadata properties) might contain illegal characters.
1185
+ * </p>
1186
+ * @param aNode the <code>Node</code> that has a property
1187
+ * @param aPropertyName the name of the property
1188
+ * @param aDefaultValue fallback value if no value exists
1189
+ * @return the value for aPropertyName as <code>Node</code>. If no property exists or it isn't a <code>Node</code>, aDefaultValue is returned.
1190
+ */
1191
+ getNode(aNode: Node, aPropertyName: string, aDefaultValue: Node): Node;
1192
+
1193
+ /**
1194
+ * Gets a <code>List</code> of property values from a Node.
1195
+ *
1196
+ * <p>
1197
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1198
+ * Illegal characters in node names and property names must always be escaped, typically via
1199
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1200
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1201
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1202
+ * (e.g. metadata properties) might contain illegal characters.
1203
+ * </p>
1204
+ * @param aNode the <code>Node</code> that has a property
1205
+ * @param aPropertyName the name of the property
1206
+ * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>null</code> is returned.
1207
+ * @see #getStringsEscaped(javax.jcr.Node, String)
1208
+ * @since Sitevision 2.6_06
1209
+ */
1210
+ getStrings(aNode: Node, aPropertyName: string): unknown;
1211
+
1212
+ /**
1213
+ * Gets a <code>List</code> of XML escaped property values from a Node.
1214
+ *
1215
+ * <p>
1216
+ * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1217
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1218
+ * </p>
1219
+ * <p>
1220
+ * This Velocity code:
1221
+ * </p>
1222
+ * <pre><code>
1223
+ * #set ($endecUtil = ...)
1224
+ * #set ($propertyUtil = ...)
1225
+ * ...
1226
+ * #set ($valueList = $propertyUtil.getStrings($myNode, 'aProperty'))
1227
+ * &lt;ul&gt;
1228
+ * #foreach ($value in $valueList)
1229
+ * &lt;li&gt;
1230
+ * $endecUtil.escapeXML($value)
1231
+ * &lt;/li&gt;
1232
+ * #end
1233
+ * &lt;/ul&gt;
1234
+ * </code></pre>
1235
+ * would typically be replaced with this:
1236
+ * <pre><code>
1237
+ * #set ($propertyUtil = ...)
1238
+ * ...
1239
+ * #set ($escapedValueList = $propertyUtil.getStringsEscaped($myNode, 'aProperty'))
1240
+ * &lt;ul&gt;
1241
+ * #foreach ($escapedValue in $escapedValueList)
1242
+ * &lt;li&gt;
1243
+ * $escapedValue
1244
+ * &lt;/li&gt;
1245
+ * #end
1246
+ * &lt;/ul&gt;
1247
+ * </code></pre>
1248
+ *
1249
+ * <p>
1250
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1251
+ * Illegal characters in node names and property names must always be escaped, typically via
1252
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1253
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1254
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1255
+ * (e.g. metadata properties) might contain illegal characters.
1256
+ * </p>
1257
+ * @param aNode the <code>Node</code> that has a property
1258
+ * @param aPropertyName the name of the property
1259
+ * @return the string value(s) for aPropertyName, XML escaped and embedded in a <code>List</code>. If no property exists, <code>null</code> is returned.
1260
+ * @see #getString(javax.jcr.Node, String)
1261
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1262
+ * @since Sitevision 3.5
1263
+ */
1264
+ getStringsEscaped(aNode: Node, aPropertyName: string): unknown;
1265
+
1266
+ /**
1267
+ * Gets a <code>List</code> of property values from a Node with a fallback value if the property doesn't exist.
1268
+ *
1269
+ * <p>
1270
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1271
+ * Illegal characters in node names and property names must always be escaped, typically via
1272
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1273
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1274
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1275
+ * (e.g. metadata properties) might contain illegal characters.
1276
+ * </p>
1277
+ * @param aNode the <code>Node</code> that has a property
1278
+ * @param aPropertyName the name of the property
1279
+ * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>aDefaultValue</code> is returned.
1280
+ * @param aDefaultValue fallback value if no value exists
1281
+ * @see #getStringsEscaped(javax.jcr.Node, String, java.util.List)
1282
+ * @since Sitevision 3.0
1283
+ */
1284
+ getStrings(
1285
+ aNode: Node,
1286
+ aPropertyName: string,
1287
+ aDefaultValue: unknown
1288
+ ): unknown;
1289
+
1290
+ /**
1291
+ * Gets a <code>List</code> of XML escaped property values from a Node with a fallback value if the property doesn't exist.
1292
+ *
1293
+ * <p>
1294
+ * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1295
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1296
+ * </p>
1297
+ * <p>
1298
+ * This Velocity code:
1299
+ * </p>
1300
+ * <pre><code>
1301
+ * #set ($endecUtil = ...)
1302
+ * #set ($propertyUtil = ...)
1303
+ * #set ($myDefaultList = ...)
1304
+ * ...
1305
+ * #set ($valueList = $propertyUtil.getStrings($myNode, 'aProperty', $myDefaultList))
1306
+ * &lt;ul&gt;
1307
+ * #foreach ($value in $valueList)
1308
+ * &lt;li&gt;
1309
+ * $endecUtil.escapeXML($value)
1310
+ * &lt;/li&gt;
1311
+ * #end
1312
+ * &lt;/ul&gt;
1313
+ * </code></pre>
1314
+ * would typically be replaced with this:
1315
+ * <pre><code>
1316
+ * #set ($propertyUtil = ...)
1317
+ * #set ($myDefaultList = ...)
1318
+ * ...
1319
+ * #set ($escapedValueList = $propertyUtil.getStringsEscaped($myNode, 'aProperty', $myDefaultList))
1320
+ * &lt;ul&gt;
1321
+ * #foreach ($escapedValue in $escapedValueList)
1322
+ * &lt;li&gt;
1323
+ * $escapedValue
1324
+ * &lt;/li&gt;
1325
+ * #end
1326
+ * &lt;/ul&gt;
1327
+ * </code></pre>
1328
+ *
1329
+ * <p>
1330
+ * <strong>Note!</strong> This method does <em>not</em> escape the property name (i.e. <code>aPropertyName</code>).
1331
+ * Illegal characters in node names and property names must always be escaped, typically via
1332
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1333
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1334
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1335
+ * (e.g. metadata properties) might contain illegal characters.
1336
+ * </p>
1337
+ * @param aNode the <code>Node</code> that has a property
1338
+ * @param aPropertyName the name of the property
1339
+ * @return the string value(s) for aPropertyName, XML escaped and embedded in a <code>List</code>. If no property exists, <code>aDefaultValue</code> is returned.
1340
+ * @param aDefaultValue fallback list if no value exists. <strong>Note!</strong> The actual fallback list is <em>never</em> returned but it's values might be used. If the fallback list are about to be returned, a copy of it will be created and all values from the fallback list will be XML escaped and added to the new list before it is returned.
1341
+ * @see #getString(javax.jcr.Node, String, String)
1342
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1343
+ * @since Sitevision 3.5
1344
+ */
1345
+ getStringsEscaped(
1346
+ aNode: Node,
1347
+ aPropertyName: string,
1348
+ aDefaultValue: unknown
1349
+ ): unknown;
1350
+
1351
+ /**
1352
+ * Gets a <code>List</code> of property values from a "nested" Node's property.
1353
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1354
+ * has a <code>String</code> property).
1355
+ *
1356
+ * <p>
1357
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1358
+ * Illegal characters in node names and property names must always be escaped, typically via
1359
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1360
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1361
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1362
+ * (e.g. metadata properties) might contain illegal characters.
1363
+ * </p>
1364
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1365
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1366
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1367
+ * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>null</code> is returned.
1368
+ * @since Sitevision 2.6_06
1369
+ */
1370
+ getNestedStrings(
1371
+ aNode: Node,
1372
+ aNodePropertyName: string,
1373
+ aPropertyName: string
1374
+ ): unknown;
1375
+
1376
+ /**
1377
+ * Gets a <code>List</code> of XML escaped property values from a "nested" Node's property.
1378
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1379
+ * has a <code>String</code> property).
1380
+ *
1381
+ * <p>
1382
+ * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1383
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1384
+ * </p>
1385
+ * <p>
1386
+ * This Velocity code:
1387
+ * </p>
1388
+ * <pre><code>
1389
+ * #set ($endecUtil = ...)
1390
+ * #set ($propertyUtil = ...)
1391
+ * ...
1392
+ * #set ($valueList = $propertyUtil.getNestedStrings($myNode, 'aNodeProperty', 'aProperty'))
1393
+ * &lt;ul&gt;
1394
+ * #foreach ($value in $valueList)
1395
+ * &lt;li&gt;
1396
+ * $endecUtil.escapeXML($value)
1397
+ * &lt;/li&gt;
1398
+ * #end
1399
+ * &lt;/ul&gt;
1400
+ * </code></pre>
1401
+ * would typically be replaced with this:
1402
+ * <pre><code>
1403
+ * #set ($propertyUtil = ...)
1404
+ * ...
1405
+ * #set ($escapedValueList = $propertyUtil.getNestedStringsEscaped($myNode, 'aNodeProperty', 'aProperty'))
1406
+ * &lt;ul&gt;
1407
+ * #foreach ($escapedValue in $escapedValueList)
1408
+ * &lt;li&gt;
1409
+ * $escapedValue
1410
+ * &lt;/li&gt;
1411
+ * #end
1412
+ * &lt;/ul&gt;
1413
+ * </code></pre>
1414
+ *
1415
+ * <p>
1416
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1417
+ * Illegal characters in node names and property names must always be escaped, typically via
1418
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1419
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1420
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1421
+ * (e.g. metadata properties) might contain illegal characters.
1422
+ * </p>
1423
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1424
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1425
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1426
+ * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>null</code> is returned.
1427
+ * @see #getNestedStrings(javax.jcr.Node, String, String)
1428
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1429
+ * @since Sitevision 3.5
1430
+ */
1431
+ getNestedStringsEscaped(
1432
+ aNode: Node,
1433
+ aNodePropertyName: string,
1434
+ aPropertyName: string
1435
+ ): unknown;
1436
+
1437
+ /**
1438
+ * Gets a <code>List</code> of property values from a "nested" Node's property with a fallback value if the property doesn't exist.
1439
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1440
+ * has a <code>String</code> property).
1441
+ *
1442
+ * <p>
1443
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1444
+ * Illegal characters in node names and property names must always be escaped, typically via
1445
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1446
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1447
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1448
+ * (e.g. metadata properties) might contain illegal characters.
1449
+ * </p>
1450
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1451
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1452
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1453
+ * @param aDefaultValue fallback value if no value exists
1454
+ * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>aDefaultValue</code> is returned.
1455
+ * @since Sitevision 3.0
1456
+ */
1457
+ getNestedStrings(
1458
+ aNode: Node,
1459
+ aNodePropertyName: string,
1460
+ aPropertyName: string,
1461
+ aDefaultValue: unknown
1462
+ ): unknown;
1463
+
1464
+ /**
1465
+ * Gets a <code>List</code> of property values from a "nested" Node's property with a fallback value if the property doesn't exist,
1466
+ * and returns it XML escaped.
1467
+ * (i.e. the base <code>Node</code> has a property that is a <code>Node</code>, and that "inner/nested" <code>Node</code>
1468
+ * has a <code>String</code> property).
1469
+ *
1470
+ * <p>
1471
+ * This is a convenience method for getting a list of property values that also should be XML escaped. Strings that should be included
1472
+ * in the html output should typically always be XML escaped to be valid XHTML and avoid XSS problems.
1473
+ * </p>
1474
+ * <p>
1475
+ * This Velocity code:
1476
+ * </p>
1477
+ * <pre><code>
1478
+ * #set ($endecUtil = ...)
1479
+ * #set ($propertyUtil = ...)
1480
+ * #set ($myDefaultList = ...)
1481
+ * ...
1482
+ * #set ($valueList = $propertyUtil.getNestedStrings($myNode, 'aNodeProperty', 'aProperty', $myDefaultList))
1483
+ * &lt;ul&gt;
1484
+ * #foreach ($value in $valueList)
1485
+ * &lt;li&gt;
1486
+ * $endecUtil.escapeXML($value)
1487
+ * &lt;/li&gt;
1488
+ * #end
1489
+ * &lt;/ul&gt;
1490
+ * </code></pre>
1491
+ * would typically be replaced with this:
1492
+ * <pre><code>
1493
+ * #set ($propertyUtil = ...)
1494
+ * #set ($myDefaultList = ...)
1495
+ * ...
1496
+ * #set ($escapedValueList = $propertyUtil.getNestedStringsEscaped($myNode, 'aNodeProperty', 'aProperty', $myDefaultList))
1497
+ * &lt;ul&gt;
1498
+ * #foreach ($escapedValue in $escapedValueList)
1499
+ * &lt;li&gt;
1500
+ * $escapedValue
1501
+ * &lt;/li&gt;
1502
+ * #end
1503
+ * &lt;/ul&gt;
1504
+ * </code></pre>
1505
+ *
1506
+ * <p>
1507
+ * <strong>Note!</strong> This method does <em>not</em> escape names (i.e. <code>aNodePropertyName</code> and <code>aPropertyName</code>).
1508
+ * Illegal characters in node names and property names must always be escaped, typically via
1509
+ * {@link senselogic.sitevision.api.text.EndecUtil#escapeJcrName(String)}.
1510
+ * For best performance - never escape a name if you are certain that it doesn't contain any illegal characters.
1511
+ * Sitevision model properties never contain illegal characters. Though, depending on configuration "dynamic" ones
1512
+ * (e.g. metadata properties) might contain illegal characters.
1513
+ * </p>
1514
+ * @param aNode the base <code>Node</code> that has a property that is a <code>Node</code>
1515
+ * @param aNodePropertyName the name of the "inner/nested" <code>Node</code> that is a property on aNode
1516
+ * @param aPropertyName the name of the property for the "inner/nested" <code>Node</code>
1517
+ * @param aDefaultValue fallback list if no value exists. <strong>Note!</strong> The actual fallback list is <em>never</em> returned, but it's values might be used. If the fallback list are about to be returned, a copy of it will be created and all values from the fallback list will be XML escaped and added to the new list before it is returned.
1518
+ * @return the string value(s) for aPropertyName as a <code>List</code>. If no property exists, <code>aDefaultValue</code> is XML escaped and returned.
1519
+ * @see #getNestedStrings(javax.jcr.Node, String, String, java.util.List)
1520
+ * @see senselogic.sitevision.api.text.EndecUtil#escapeXML(String)
1521
+ * @since Sitevision 3.5
1522
+ */
1523
+ getNestedStringsEscaped(
1524
+ aNode: Node,
1525
+ aNodePropertyName: string,
1526
+ aPropertyName: string,
1527
+ aDefaultValue: unknown
1528
+ ): unknown;
1575
1529
  }
1576
1530
 
1577
- export default propertyUtil;
1531
+ declare namespace PropertyUtil {}
1532
+
1533
+ declare var propertyUtil: PropertyUtil;
1534
+
1535
+ export = propertyUtil;