@sitevision/api 2.0.0-alpha.1 → 2023.2.1-alpha.0

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 (280) hide show
  1. package/client/requester/index.d.ts +10 -8
  2. package/client/toasts/index.d.ts +7 -5
  3. package/common/app/index.d.ts +45 -46
  4. package/common/events/index.d.ts +30 -31
  5. package/common/i18n/index.d.ts +7 -5
  6. package/common/router/index.d.ts +72 -77
  7. package/common/security/index.d.ts +27 -21
  8. package/index.d.ts +8 -0
  9. package/package.json +1 -1
  10. package/server/AliasUtil/index.d.ts +11 -9
  11. package/server/ArchiveUtil/index.d.ts +43 -41
  12. package/server/ArraysInstance/index.d.ts +1666 -1807
  13. package/server/ArticleUtil/index.d.ts +292 -224
  14. package/server/AuthenticationUtil/index.d.ts +72 -84
  15. package/server/BookmarkUtil/index.d.ts +74 -79
  16. package/server/BuddyIconRenderer/index.d.ts +123 -131
  17. package/server/BuddyIconRenderer.BuddyIconSize/index.d.ts +41 -0
  18. package/server/BuddyIconRenderer.BuddyIconSize/index.js +25 -0
  19. package/server/ClientUtil/index.d.ts +10 -8
  20. package/server/CollaborationFactory/index.d.ts +37 -40
  21. package/server/CollaborationGroupFolderUtil/index.d.ts +28 -26
  22. package/server/CollaborationGroupState/index.d.ts +27 -0
  23. package/server/CollaborationGroupState/index.js +11 -0
  24. package/server/CollaborationGroupTemplateUtil/index.d.ts +46 -48
  25. package/server/CollaborationGroupType/index.d.ts +28 -0
  26. package/server/CollaborationGroupType/index.js +12 -0
  27. package/server/CollaborationGroupUtil/index.d.ts +84 -80
  28. package/server/CollectionsInstance/index.d.ts +641 -704
  29. package/server/ColorUtil/index.d.ts +34 -35
  30. package/server/CompoundAndFilterBuilder/index.d.ts +28 -26
  31. package/server/CompoundComparatorBuilder/index.d.ts +33 -31
  32. package/server/CompoundOrFilterBuilder/index.d.ts +28 -26
  33. package/server/ContentNodeUtil/index.d.ts +34 -32
  34. package/server/CurrencyFactory/index.d.ts +70 -68
  35. package/server/DateUtil/index.d.ts +131 -141
  36. package/server/DecorationUtil/index.d.ts +11 -9
  37. package/server/DeviceUtil/index.d.ts +19 -17
  38. package/server/DimensionMode/index.d.ts +17 -0
  39. package/server/DimensionMode/index.js +12 -0
  40. package/server/DirectoryUtil/index.d.ts +87 -85
  41. package/server/DocType/index.d.ts +30 -0
  42. package/server/DocType/index.js +14 -0
  43. package/server/DocTypeUtil/index.d.ts +127 -133
  44. package/server/EndecUtil/index.d.ts +329 -346
  45. package/server/ExtendedDismaxParserBuilder/index.d.ts +153 -167
  46. package/server/FileIconRenderer/index.d.ts +152 -171
  47. package/server/FileUtil/index.d.ts +272 -298
  48. package/server/FilterBuilder/index.d.ts +39 -37
  49. package/server/FolderUtil/index.d.ts +91 -92
  50. package/server/FontUtil/index.d.ts +34 -35
  51. package/server/FormatterBuilderFactory/index.d.ts +73 -81
  52. package/server/HighlightBuilder/index.d.ts +76 -83
  53. package/server/IconUtil/index.d.ts +25 -23
  54. package/server/ImageLinkRenderer/index.d.ts +35 -33
  55. package/server/ImageRenderer/index.d.ts +340 -376
  56. package/server/ImageUtil/index.d.ts +245 -263
  57. package/server/IndexUtil/index.d.ts +38 -35
  58. package/server/IndexUtil.IndexType/index.d.ts +29 -0
  59. package/server/IndexUtil.IndexType/index.js +13 -0
  60. package/server/IndexingUtil/index.d.ts +67 -45
  61. package/server/InstanceCreatorUtil/index.d.ts +423 -459
  62. package/server/InstanceTypeUtil/index.d.ts +167 -188
  63. package/server/JwtUtil/index.d.ts +129 -127
  64. package/server/LandingPageUtil/index.d.ts +82 -85
  65. package/server/LandingPageUtil/index.js +1 -0
  66. package/server/LinkPageUtil/index.d.ts +294 -248
  67. package/server/LinkRenderer/index.d.ts +649 -713
  68. package/server/LinkTargetBuilder/index.d.ts +65 -73
  69. package/server/LinkValueBuilder/index.d.ts +66 -73
  70. package/server/ListWrapper/index.d.ts +80 -89
  71. package/server/LocaleUtil/index.d.ts +381 -393
  72. package/server/LogUtil/index.d.ts +118 -127
  73. package/server/MailBuilder/index.d.ts +106 -121
  74. package/server/MailUtil/index.d.ts +58 -63
  75. package/server/MathInstance/index.d.ts +624 -656
  76. package/server/MessageDigesterFactory/index.d.ts +28 -26
  77. package/server/MetadataDefinitionUtil/index.d.ts +77 -81
  78. package/server/MetadataUtil/index.d.ts +321 -345
  79. package/server/MimeTypeUtil/index.d.ts +208 -214
  80. package/server/MonitorBuilder/index.d.ts +17 -17
  81. package/server/NodeComparatorUtil/index.d.ts +214 -224
  82. package/server/NodeFactoryUtil/index.d.ts +19 -17
  83. package/server/NodeFilterUtil/index.d.ts +651 -738
  84. package/server/NodeIteratorUtil/index.d.ts +209 -224
  85. package/server/NodeResolverUtil/index.d.ts +398 -404
  86. package/server/NodeTreeUtil/index.d.ts +211 -226
  87. package/server/NodeTypeUtil/index.d.ts +1430 -546
  88. package/server/OfflineVersionPropertyUtil/index.d.ts +6 -4
  89. package/server/OnlineVersionPropertyUtil/index.d.ts +6 -4
  90. package/server/OutputUtil/index.d.ts +384 -379
  91. package/server/PageUtil/index.d.ts +264 -186
  92. package/server/PermissionUtil/index.d.ts +391 -428
  93. package/server/PermissionUtil.Permission/index.d.ts +54 -0
  94. package/server/PermissionUtil.Permission/index.js +38 -0
  95. package/server/PortletContextUtil/index.d.ts +111 -106
  96. package/server/PortletUtil/index.d.ts +30 -20
  97. package/server/PrincipalUtil/index.d.ts +33 -31
  98. package/server/Properties/index.d.ts +68 -75
  99. package/server/PropertyUtil/index.d.ts +1419 -1461
  100. package/server/PublishingUtil/index.d.ts +246 -247
  101. package/server/QueryStringUtil/index.d.ts +403 -414
  102. package/server/RedirectUtil/index.d.ts +62 -66
  103. package/server/RelatedValueBuilder/index.d.ts +40 -38
  104. package/server/Requester/index.d.ts +123 -123
  105. package/server/ResourceLocatorUtil/index.d.ts +434 -474
  106. package/server/RestApi/index.d.ts +156 -136
  107. package/server/RestAppInvokerFactory/index.d.ts +25 -23
  108. package/server/RoleAssignmentBuilder/index.d.ts +35 -33
  109. package/server/RoleMatcherBuilder/index.d.ts +35 -33
  110. package/server/RoleUtil/index.d.ts +35 -37
  111. package/server/ScriptUtil/index.d.ts +457 -494
  112. package/server/SearchFactory/index.d.ts +102 -117
  113. package/server/SearchUtil/index.d.ts +73 -71
  114. package/server/SearcherBuilder/index.d.ts +107 -114
  115. package/server/Session/index.d.ts +251 -1093
  116. package/server/Session/index.js +1 -20
  117. package/server/SimpleUserUtil/index.d.ts +26 -27
  118. package/server/SiteCookieUtil/index.d.ts +150 -173
  119. package/server/SortBuilder/index.d.ts +24 -22
  120. package/server/SourceSetMode/index.d.ts +12 -0
  121. package/server/SourceSetMode/index.js +12 -0
  122. package/server/SpellCheckBuilder/index.d.ts +27 -27
  123. package/server/StandardParserBuilder/index.d.ts +33 -31
  124. package/server/StructureUtil/index.d.ts +83 -81
  125. package/server/SubscriberUtil/index.d.ts +58 -65
  126. package/server/SubscriptionUtil/index.d.ts +121 -128
  127. package/server/SystemUserUtil/index.d.ts +146 -144
  128. package/server/TagUtil/index.d.ts +113 -118
  129. package/server/TemplateUtil/index.d.ts +113 -118
  130. package/server/TemporaryFileNodeBuilder/index.d.ts +29 -27
  131. package/server/TemporaryNodeBuilder/index.d.ts +136 -174
  132. package/server/TextModuleRendererBuilder/index.d.ts +18 -16
  133. package/server/TimestampUtil/index.d.ts +102 -116
  134. package/server/TranslationUtil/index.d.ts +96 -102
  135. package/server/TrashcanUtil/index.d.ts +112 -115
  136. package/server/UserDataUtil/index.d.ts +108 -109
  137. package/server/UserFactory/index.d.ts +49 -56
  138. package/server/UserFieldRenderer/index.d.ts +118 -126
  139. package/server/UserIdentityUtil/index.d.ts +36 -34
  140. package/server/UserUtil/index.d.ts +30 -28
  141. package/server/Utils/index.d.ts +702 -791
  142. package/server/VelocityRenderer/index.d.ts +94 -92
  143. package/server/VersionUtil/index.d.ts +24 -8
  144. package/server/WebContentUtil/index.d.ts +275 -282
  145. package/server/WebResourceFactory/index.d.ts +46 -51
  146. package/server/XSLTUtil/index.d.ts +33 -31
  147. package/server/XmlParserUtil/index.d.ts +47 -45
  148. package/server/appData/index.d.ts +8 -6
  149. package/server/appInfo/index.d.ts +6 -2
  150. package/server/appResource/index.d.ts +23 -21
  151. package/server/cache/index.d.ts +8 -6
  152. package/server/globalAppData/index.d.ts +8 -6
  153. package/server/headless/index.d.ts +28 -26
  154. package/server/hooks/index.d.ts +9 -9
  155. package/server/oauth2/index.d.ts +12 -10
  156. package/server/privileged/index.d.ts +24 -22
  157. package/server/storage/index.d.ts +22 -20
  158. package/types/javax/jcr/Binary/index.d.ts +0 -20
  159. package/types/javax/jcr/Binary/index.js +0 -1
  160. package/types/javax/jcr/ImportUUIDBehavior/index.d.ts +24 -0
  161. package/types/javax/jcr/Item/index.d.ts +1 -116
  162. package/types/javax/jcr/Item/index.js +0 -6
  163. package/types/javax/jcr/NamespaceRegistry/index.d.ts +66 -42
  164. package/types/javax/jcr/NamespaceRegistry/index.js +0 -2
  165. package/types/javax/jcr/Node/index.d.ts +24 -1495
  166. package/types/javax/jcr/Node/index.js +1 -34
  167. package/types/javax/jcr/NodeIterator/index.d.ts +1 -1
  168. package/types/javax/jcr/Property/index.d.ts +487 -489
  169. package/types/javax/jcr/Property/index.js +0 -5
  170. package/types/javax/jcr/PropertyIterator/index.d.ts +1 -1
  171. package/types/javax/jcr/RangeIterator/index.d.ts +1 -43
  172. package/types/javax/jcr/RangeIterator/index.js +1 -5
  173. package/types/javax/jcr/Repository/index.d.ts +460 -260
  174. package/types/javax/jcr/Repository/index.js +0 -4
  175. package/types/javax/jcr/Value/index.d.ts +0 -29
  176. package/types/javax/jcr/Value/index.js +0 -2
  177. package/types/javax/jcr/ValueFactory/index.d.ts +0 -70
  178. package/types/javax/jcr/ValueFactory/index.js +1 -2
  179. package/types/javax/jcr/Workspace/index.d.ts +93 -569
  180. package/types/javax/jcr/Workspace/index.js +1 -12
  181. package/types/javax/jcr/nodetype/ItemDefinition/index.d.ts +0 -103
  182. package/types/javax/jcr/nodetype/ItemDefinition/index.js +0 -5
  183. package/types/javax/jcr/nodetype/NodeDefinition/index.d.ts +1 -1
  184. package/types/javax/jcr/nodetype/NodeDefinitionTemplate/index.d.ts +1 -1
  185. package/types/javax/jcr/nodetype/NodeType/index.d.ts +255 -264
  186. package/types/javax/jcr/nodetype/NodeType/index.js +1 -12
  187. package/types/javax/jcr/nodetype/NodeTypeDefinition/index.d.ts +0 -104
  188. package/types/javax/jcr/nodetype/NodeTypeDefinition/index.js +1 -7
  189. package/types/javax/jcr/nodetype/NodeTypeIterator/index.d.ts +1 -1
  190. package/types/javax/jcr/nodetype/NodeTypeManager/index.d.ts +0 -123
  191. package/types/javax/jcr/nodetype/NodeTypeManager/index.js +1 -8
  192. package/types/javax/jcr/nodetype/NodeTypeTemplate/index.d.ts +1 -1
  193. package/types/javax/jcr/nodetype/PropertyDefinition/index.d.ts +1 -270
  194. package/types/javax/jcr/nodetype/PropertyDefinition/index.js +1 -7
  195. package/types/javax/jcr/nodetype/PropertyDefinitionTemplate/index.d.ts +1 -1
  196. package/types/javax/jcr/observation/Event/index.d.ts +82 -41
  197. package/types/javax/jcr/observation/EventIterator/index.d.ts +1 -1
  198. package/types/javax/jcr/observation/EventJournal/index.d.ts +1 -1
  199. package/types/javax/jcr/observation/EventListenerIterator/index.d.ts +1 -1
  200. package/types/javax/jcr/query/Query/index.d.ts +29 -8
  201. package/types/javax/jcr/query/RowIterator/index.d.ts +1 -1
  202. package/types/javax/jcr/query/qom/And/index.d.ts +1 -1
  203. package/types/javax/jcr/query/qom/BindVariableValue/index.d.ts +1 -1
  204. package/types/javax/jcr/query/qom/ChildNode/index.d.ts +1 -1
  205. package/types/javax/jcr/query/qom/ChildNodeJoinCondition/index.d.ts +1 -1
  206. package/types/javax/jcr/query/qom/Comparison/index.d.ts +1 -1
  207. package/types/javax/jcr/query/qom/DescendantNode/index.d.ts +1 -1
  208. package/types/javax/jcr/query/qom/DescendantNodeJoinCondition/index.d.ts +1 -1
  209. package/types/javax/jcr/query/qom/DynamicOperand/index.d.ts +1 -1
  210. package/types/javax/jcr/query/qom/EquiJoinCondition/index.d.ts +1 -1
  211. package/types/javax/jcr/query/qom/FullTextSearch/index.d.ts +1 -1
  212. package/types/javax/jcr/query/qom/FullTextSearchScore/index.d.ts +1 -1
  213. package/types/javax/jcr/query/qom/Join/index.d.ts +1 -1
  214. package/types/javax/jcr/query/qom/Length/index.d.ts +1 -1
  215. package/types/javax/jcr/query/qom/Literal/index.d.ts +1 -1
  216. package/types/javax/jcr/query/qom/LowerCase/index.d.ts +1 -1
  217. package/types/javax/jcr/query/qom/NodeLocalName/index.d.ts +1 -1
  218. package/types/javax/jcr/query/qom/NodeName/index.d.ts +1 -1
  219. package/types/javax/jcr/query/qom/Not/index.d.ts +1 -1
  220. package/types/javax/jcr/query/qom/Or/index.d.ts +1 -1
  221. package/types/javax/jcr/query/qom/PropertyExistence/index.d.ts +1 -1
  222. package/types/javax/jcr/query/qom/PropertyValue/index.d.ts +1 -1
  223. package/types/javax/jcr/query/qom/QueryObjectModel/index.d.ts +1 -1
  224. package/types/javax/jcr/query/qom/QueryObjectModelConstants/index.d.ts +73 -1
  225. package/types/javax/jcr/query/qom/QueryObjectModelFactory/index.d.ts +1 -1
  226. package/types/javax/jcr/query/qom/SameNode/index.d.ts +1 -1
  227. package/types/javax/jcr/query/qom/SameNodeJoinCondition/index.d.ts +1 -1
  228. package/types/javax/jcr/query/qom/Selector/index.d.ts +1 -1
  229. package/types/javax/jcr/query/qom/StaticOperand/index.d.ts +1 -1
  230. package/types/javax/jcr/query/qom/UpperCase/index.d.ts +1 -1
  231. package/types/javax/jcr/security/AccessControlList/index.d.ts +1 -1
  232. package/types/javax/jcr/security/AccessControlPolicyIterator/index.d.ts +1 -1
  233. package/types/javax/jcr/security/NamedAccessControlPolicy/index.d.ts +1 -1
  234. package/types/javax/jcr/security/Privilege/index.d.ts +127 -43
  235. package/types/javax/jcr/version/Version/index.d.ts +1 -1
  236. package/types/javax/jcr/version/VersionHistory/index.d.ts +1 -1
  237. package/types/javax/jcr/version/VersionIterator/index.d.ts +1 -1
  238. package/types/senselogic/sitevision/api/base/Requireable/ScriptEngine/index.d.ts +9 -0
  239. package/types/senselogic/sitevision/api/base/Requireable/ScriptEngine/index.js +11 -0
  240. package/types/senselogic/sitevision/api/collaboration/CollaborationGroupWrapper/index.d.ts +9 -5
  241. package/types/senselogic/sitevision/api/format/NumericFormatterBuilder/index.d.ts +1 -1
  242. package/types/senselogic/sitevision/api/link/CustomLinkProcessor/index.d.ts +1 -1
  243. package/types/senselogic/sitevision/api/render/BuddyIconRenderer.BuddyIconInfo/index.d.ts +49 -0
  244. package/types/senselogic/sitevision/api/render/BuddyIconRenderer.BuddyIconInfo/index.js +12 -0
  245. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ArticleUtilConstants/index.d.ts +83 -0
  246. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ArticleUtilConstants/index.js +21 -0
  247. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ExceptionSuppressingProxyConstants/index.d.ts +29 -0
  248. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.ExceptionSuppressingProxyConstants/index.js +12 -0
  249. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.IndexingUtilConstants/index.d.ts +29 -0
  250. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.IndexingUtilConstants/index.js +12 -0
  251. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.LinkPageUtilConstants/index.d.ts +65 -0
  252. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.LinkPageUtilConstants/index.js +18 -0
  253. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MathInstanceConstants/index.d.ts +23 -0
  254. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MathInstanceConstants/index.js +11 -0
  255. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MimeTypeUtilConstants/index.d.ts +17 -0
  256. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.MimeTypeUtilConstants/index.js +10 -0
  257. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.NodeTypeUtilConstants/index.d.ts +1241 -0
  258. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.NodeTypeUtilConstants/index.js +189 -0
  259. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.OutputUtilConstants/index.d.ts +29 -0
  260. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.OutputUtilConstants/index.js +12 -0
  261. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PageUtilConstants/index.d.ts +89 -0
  262. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PageUtilConstants/index.js +22 -0
  263. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletContextUtilConstants/index.d.ts +25 -0
  264. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletContextUtilConstants/index.js +11 -0
  265. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletUtilConstants/index.d.ts +17 -0
  266. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.PortletUtilConstants/index.js +10 -0
  267. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.QueryStringUtilConstants/index.d.ts +17 -0
  268. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.QueryStringUtilConstants/index.js +10 -0
  269. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchHitConstants/index.d.ts +23 -0
  270. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchHitConstants/index.js +11 -0
  271. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchResultConstants/index.d.ts +35 -0
  272. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.SearchResultConstants/index.js +13 -0
  273. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.VersionUtilConstants/index.d.ts +23 -0
  274. package/types/senselogic/sitevision/api/render/velocity/VelocityAccess.VersionUtilConstants/index.js +11 -0
  275. package/types/senselogic/sitevision/api/script/RequesterChainable/index.d.ts +2 -2
  276. package/types/senselogic/sitevision/api/script/proxy/ExceptionSuppressingProxy/index.d.ts +22 -2
  277. package/types/senselogic/sitevision/api/search/SearchHit/index.d.ts +16 -2
  278. package/types/senselogic/sitevision/api/search/SearchResult/index.d.ts +28 -6
  279. package/types/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilter/index.d.ts +31 -1
  280. package/types/senselogic/sitevision/api/user/UserIdentityWrapper/index.d.ts +1 -1
@@ -6,244 +6,229 @@ import type { Node } from "../../types/javax/jcr/Node";
6
6
  import type { FilterSplit } from "../../types/senselogic/sitevision/api/base/FilterSplit";
7
7
 
8
8
  /**
9
- * Gets a filtered NodeIterator.
10
- *
11
- * <p>
12
- * This NodeIterator decorates a NodeIterator with a Filter, i.e. it will only return nodes that matches given filter.
13
- * </p>
9
+ * Node iterator utility interface.
14
10
  *
15
11
  * <p>
16
- * This <strong>server-side Javascript example</strong> demonstrates how to create a node iterator that is very similar to the
17
- * {@link #getMenuItems(Node) MenuItems} iterator but this node iterator is not respecting the "visibleInMenus" property.
12
+ * An instance of the Sitevision class implementing this interface can be obtained via
13
+ * {@link senselogic.sitevision.api.Utils#getNodeIteratorUtil()}.
14
+ * See {@link senselogic.sitevision.api.Utils} for how to obtain an instance of the <code>Utils</code> interface.
18
15
  * </p>
19
- * <pre><code> const nodeFilterUtil = require('NodeFilterUtil');
20
- * const nodeIteratorUtil = require('NodeIteratorUtil');
21
- * const startNode = ...
22
- *
23
- * const filter = nodeFilterUtil.getAnyOfPrimaryNodeTypesFilter([
24
- * 'sv:page', 'sv:structurePage', 'sv:article', 'sv:link', 'sv:structureLink', 'sv:collaborationGroupPage'
25
- * ]);
26
- * const nodes = nodeIteratorUtil.getFilteredNodeIterator(startNode.getNodes(), filter);
27
- *
28
- * while (nodes.hasNext()) {
29
- * let node = nodes.nextNode();
30
- * ...
31
- * }</code></pre>
32
- * @param aNodeIterator a NodeIterator, must not be null
33
- * @param aNodeFilter a Node Filter, must not be null
34
- * @return a filtered NodeIterator
35
- * @throws NullPointerException if aNodeIterator or aNodeFilter is null
36
- * @see NodeFilterUtil
37
- * @since Sitevision 8.1
16
+ * @author Magnus Lövgren
38
17
  */
39
- export function getFilteredNodeIterator(
40
- aNodeIterator: NodeIterator,
41
- aNodeFilter: Filter
42
- ): NodeIterator;
18
+ export interface NodeIteratorUtil {
19
+ /**
20
+ * Gets a filtered NodeIterator.
21
+ *
22
+ * <p>
23
+ * This NodeIterator decorates a NodeIterator with a Filter, i.e. it will only return nodes that matches given filter.
24
+ * </p>
25
+ *
26
+ * <p>
27
+ * This <strong>server-side Javascript example</strong> demonstrates how to create a node iterator that is very similar to the
28
+ * {@link #getMenuItems(Node) MenuItems} iterator but this node iterator is not respecting the "visibleInMenus" property.
29
+ * </p>
30
+ * <pre><code> const nodeFilterUtil = require('NodeFilterUtil');
31
+ * const nodeIteratorUtil = require('NodeIteratorUtil');
32
+ * const startNode = ...
33
+ *
34
+ * const filter = nodeFilterUtil.getAnyOfPrimaryNodeTypesFilter([
35
+ * 'sv:page', 'sv:structurePage', 'sv:article', 'sv:link', 'sv:structureLink', 'sv:collaborationGroupPage'
36
+ * ]);
37
+ * const nodes = nodeIteratorUtil.getFilteredNodeIterator(startNode.getNodes(), filter);
38
+ *
39
+ * while (nodes.hasNext()) {
40
+ * let node = nodes.nextNode();
41
+ * ...
42
+ * }</code></pre>
43
+ * @param aNodeIterator a NodeIterator, must not be null
44
+ * @param aNodeFilter a Node Filter, must not be null
45
+ * @return a filtered NodeIterator
46
+ * @throws NullPointerException if aNodeIterator or aNodeFilter is null
47
+ * @see NodeFilterUtil
48
+ * @since Sitevision 8.1
49
+ */
50
+ getFilteredNodeIterator(
51
+ aNodeIterator: NodeIterator,
52
+ aNodeFilter: Filter
53
+ ): NodeIterator;
43
54
 
44
- /**
45
- * Gets a node iterator via a node identifier.
46
- *
47
- * <p>
48
- * The purpose of this method is twofold:
49
- * </p>
50
- * <ul>
51
- * <li>
52
- * <em>Convenience.</em> This method combines {@link javax.jcr.Session#getNodeByIdentifier(String)} and {@link Node#getNodes()},
53
- * i.e. a shortcut to get an iterator without having to actually lookup/resolve the parent node.
54
- * </li>
55
- * <li>
56
- * <em>Permission workaround.</em> This method does <em>not</em> do any permission checks on the resolved parent Node, i.e.
57
- * a shortcut to get an iterator of children where you (potentially) have permission from a parent where you don't.
58
- * </li>
59
- * </ul>
60
- * @param aIdentifier a node identifier
61
- * @return a <code>NodeIterator</code> for the sub nodes of the Node resolved via <code>aIdentifier</code>, or <code>null</code> if indeterminable
62
- * @since Sitevision 4.0.2
63
- */
64
- export function getNodeIteratorByIdentifier(aIdentifier: string): NodeIterator;
55
+ /**
56
+ * Gets a node iterator via a node identifier.
57
+ *
58
+ * <p>
59
+ * The purpose of this method is twofold:
60
+ * </p>
61
+ * <ul>
62
+ * <li>
63
+ * <em>Convenience.</em> This method combines {@link javax.jcr.Session#getNodeByIdentifier(String)} and {@link Node#getNodes()},
64
+ * i.e. a shortcut to get an iterator without having to actually lookup/resolve the parent node.
65
+ * </li>
66
+ * <li>
67
+ * <em>Permission workaround.</em> This method does <em>not</em> do any permission checks on the resolved parent Node, i.e.
68
+ * a shortcut to get an iterator of children where you (potentially) have permission from a parent where you don't.
69
+ * </li>
70
+ * </ul>
71
+ * @param aIdentifier a node identifier
72
+ * @return a <code>NodeIterator</code> for the sub nodes of the Node resolved via <code>aIdentifier</code>, or <code>null</code> if indeterminable
73
+ * @since Sitevision 4.0.2
74
+ */
75
+ getNodeIteratorByIdentifier(aIdentifier: string): NodeIterator;
65
76
 
66
- /**
67
- * Gets an iterator for default menu items (i.e. non-hidden pages, link pages etc. where current user has read permission)
68
- * @param aParent the base node for the iterator
69
- * @return a <code>NodeIterator</code> for the sub nodes of <code>aParent</code>, or <code>null</code> if indeterminable (i.e. <code>aParent</code> is not a <code>Node</code> in the page tree)
70
- */
71
- export function getMenuItems(aParent: Node): NodeIterator;
77
+ /**
78
+ * Gets an iterator for default menu items (i.e. non-hidden pages, link pages etc. where current user has read permission)
79
+ * @param aParent the base node for the iterator
80
+ * @return a <code>NodeIterator</code> for the sub nodes of <code>aParent</code>, or <code>null</code> if indeterminable (i.e. <code>aParent</code> is not a <code>Node</code> in the page tree)
81
+ */
82
+ getMenuItems(aParent: Node): NodeIterator;
72
83
 
73
- /**
74
- * Gets an iterator for default menu items via a node identifier.
75
- *
76
- * <p>
77
- * The purpose of this method is twofold:
78
- * </p>
79
- * <ul>
80
- * <li>
81
- * <em>Convenience.</em> This method combines {@link javax.jcr.Session#getNodeByIdentifier(String)} and {@link #getMenuItems(Node)},
82
- * i.e. a shortcut to get a menu iterator without having to actually lookup/resolve the parent node.
83
- * </li>
84
- * <li>
85
- * <em>Permission workaround.</em> This method does <em>not</em> do any permission checks on the resolved parent Node, i.e.
86
- * a shortcut to get an iterator of children where you (potentially) have permission from a parent where you don't.
87
- * </li>
88
- * </ul>
89
- * @param aIdentifier a node identifier
90
- * @return a <code>NodeIterator</code> for the sub nodes of the Node resolved via <code>aIdentifier</code>, or <code>null</code> if indeterminable
91
- * @since Sitevision 4.0.2
92
- * @see #getMenuItems(Node)
93
- */
94
- export function getMenuItemsByIdentifier(aIdentifier: string): NodeIterator;
84
+ /**
85
+ * Gets an iterator for default menu items via a node identifier.
86
+ *
87
+ * <p>
88
+ * The purpose of this method is twofold:
89
+ * </p>
90
+ * <ul>
91
+ * <li>
92
+ * <em>Convenience.</em> This method combines {@link javax.jcr.Session#getNodeByIdentifier(String)} and {@link #getMenuItems(Node)},
93
+ * i.e. a shortcut to get a menu iterator without having to actually lookup/resolve the parent node.
94
+ * </li>
95
+ * <li>
96
+ * <em>Permission workaround.</em> This method does <em>not</em> do any permission checks on the resolved parent Node, i.e.
97
+ * a shortcut to get an iterator of children where you (potentially) have permission from a parent where you don't.
98
+ * </li>
99
+ * </ul>
100
+ * @param aIdentifier a node identifier
101
+ * @return a <code>NodeIterator</code> for the sub nodes of the Node resolved via <code>aIdentifier</code>, or <code>null</code> if indeterminable
102
+ * @since Sitevision 4.0.2
103
+ * @see #getMenuItems(Node)
104
+ */
105
+ getMenuItemsByIdentifier(aIdentifier: string): NodeIterator;
95
106
 
96
- /**
97
- * Gets an iterator for default menu items (i.e. getMenuItems(Node)), including folders
98
- * @see #getMenuItems(Node)
99
- * @param aParent the base node for the iterator
100
- * @return a <code>NodeIterator</code> for the sub nodes of <code>aParent</code>, or <code>null</code> if indeterminable (i.e. <code>aParent</code> is not a <code>Node</code> in the page tree)
101
- */
102
- export function getMenuItemsIncludingFolders(aParent: Node): NodeIterator;
107
+ /**
108
+ * Gets an iterator for default menu items (i.e. getMenuItems(Node)), including folders
109
+ * @see #getMenuItems(Node)
110
+ * @param aParent the base node for the iterator
111
+ * @return a <code>NodeIterator</code> for the sub nodes of <code>aParent</code>, or <code>null</code> if indeterminable (i.e. <code>aParent</code> is not a <code>Node</code> in the page tree)
112
+ */
113
+ getMenuItemsIncludingFolders(aParent: Node): NodeIterator;
103
114
 
104
- /**
105
- * Gets an iterator for default menu items (including folders) via a node identifier.
106
- *
107
- * <p>
108
- * The purpose of this method is twofold:
109
- * </p>
110
- * <ul>
111
- * <li>
112
- * <em>Convenience.</em> This method combines {@link javax.jcr.Session#getNodeByIdentifier(String)} and
113
- * {@link #getMenuItemsIncludingFolders(Node)}, i.e. a shortcut to get a menu iterator without having to actually
114
- * lookup/resolve the parent node.
115
- * </li>
116
- * <li>
117
- * <em>Permission workaround.</em> This method does <em>not</em> do any permission checks on the resolved parent Node, i.e.
118
- * a shortcut to get an iterator of children where you (potentially) have permission from a parent where you don't.
119
- * </li>
120
- * </ul>
121
- * @param aIdentifier a node identifier
122
- * @return a <code>NodeIterator</code> for the sub nodes of the Node resolved via <code>aIdentifier</code>, or <code>null</code> if indeterminable
123
- * @since Sitevision 4.0.2
124
- * @see #getMenuItemsIncludingFolders(Node)
125
- */
126
- export function getMenuItemsIncludingFoldersByIdentifier(
127
- aIdentifier: string
128
- ): NodeIterator;
115
+ /**
116
+ * Gets an iterator for default menu items (including folders) via a node identifier.
117
+ *
118
+ * <p>
119
+ * The purpose of this method is twofold:
120
+ * </p>
121
+ * <ul>
122
+ * <li>
123
+ * <em>Convenience.</em> This method combines {@link javax.jcr.Session#getNodeByIdentifier(String)} and
124
+ * {@link #getMenuItemsIncludingFolders(Node)}, i.e. a shortcut to get a menu iterator without having to actually
125
+ * lookup/resolve the parent node.
126
+ * </li>
127
+ * <li>
128
+ * <em>Permission workaround.</em> This method does <em>not</em> do any permission checks on the resolved parent Node, i.e.
129
+ * a shortcut to get an iterator of children where you (potentially) have permission from a parent where you don't.
130
+ * </li>
131
+ * </ul>
132
+ * @param aIdentifier a node identifier
133
+ * @return a <code>NodeIterator</code> for the sub nodes of the Node resolved via <code>aIdentifier</code>, or <code>null</code> if indeterminable
134
+ * @since Sitevision 4.0.2
135
+ * @see #getMenuItemsIncludingFolders(Node)
136
+ */
137
+ getMenuItemsIncludingFoldersByIdentifier(aIdentifier: string): NodeIterator;
129
138
 
130
- /**
131
- * Gets the first node from a node iterator that matches a specified filter.
132
- *
133
- * <p>
134
- * <em>Tip!</em> Use {@link senselogic.sitevision.api.node.NodeFilterUtil} to get
135
- * an appropriate node filter.
136
- * </p>
137
- * @param aNodeIterator a node iterator
138
- * @param aFilter a node filter
139
- * @return first node that matches <code>aFilter</code>, or <code>null</code>. If <code>aFilter</code> is <code>null</code>, the filter will be ignored (all nodes will be accepted). If <code>aNodeIterator</code> is <code>null</code>, <code>null</code> will be returned.
140
- * @since Sitevision 3.6.2
141
- */
142
- export function findFirst(aNodeIterator: NodeIterator, aFilter: Filter): Node;
139
+ /**
140
+ * Gets the first node from a node iterator that matches a specified filter.
141
+ *
142
+ * <p>
143
+ * <em>Tip!</em> Use {@link senselogic.sitevision.api.node.NodeFilterUtil} to get
144
+ * an appropriate node filter.
145
+ * </p>
146
+ * @param aNodeIterator a node iterator
147
+ * @param aFilter a node filter
148
+ * @return first node that matches <code>aFilter</code>, or <code>null</code>. If <code>aFilter</code> is <code>null</code>, the filter will be ignored (all nodes will be accepted). If <code>aNodeIterator</code> is <code>null</code>, <code>null</code> will be returned.
149
+ * @since Sitevision 3.6.2
150
+ */
151
+ findFirst(aNodeIterator: NodeIterator, aFilter: Filter): Node;
143
152
 
144
- /**
145
- * Gets a max-sized node list from a node iterator that matches a specified filter.
146
- *
147
- * <p>
148
- * <em>Tip!</em> Use {@link senselogic.sitevision.api.node.NodeFilterUtil} to get
149
- * an appropriate node filter. If the list of nodes should be sorted by a specific property value,
150
- * you would typically use {@link senselogic.sitevision.api.node.NodeComparatorUtil}
151
- * to get an appropriate <code>Comparator</code>.
152
- * </p>
153
- * @param aNodeIterator a node iterator
154
- * @param aFilter a node filter
155
- * @param aMaxNodesToFind max number of nodes to include in the result
156
- * @return a list of nodes that matches <code>aFilter</code>, never <code>null</code>. The list will contain at most <code>aMaxNodesToFind</code> nodes. If <code>aFilter</code> is <code>null</code>, the filter will be ignored (all nodes will be accepted). If <code>aNodeIterator</code> is <code>null</code>, an empty list will be returned. If <code>aMaxNodesToFind</code> is negative, an empty list will be returned.
157
- * @since Sitevision 3.6.2
158
- */
159
- export function findNodes(
160
- aNodeIterator: NodeIterator,
161
- aFilter: Filter,
162
- aMaxNodesToFind: number
163
- ): unknown;
153
+ /**
154
+ * Gets a max-sized node list from a node iterator that matches a specified filter.
155
+ *
156
+ * <p>
157
+ * <em>Tip!</em> Use {@link senselogic.sitevision.api.node.NodeFilterUtil} to get
158
+ * an appropriate node filter. If the list of nodes should be sorted by a specific property value,
159
+ * you would typically use {@link senselogic.sitevision.api.node.NodeComparatorUtil}
160
+ * to get an appropriate <code>Comparator</code>.
161
+ * </p>
162
+ * @param aNodeIterator a node iterator
163
+ * @param aFilter a node filter
164
+ * @param aMaxNodesToFind max number of nodes to include in the result
165
+ * @return a list of nodes that matches <code>aFilter</code>, never <code>null</code>. The list will contain at most <code>aMaxNodesToFind</code> nodes. If <code>aFilter</code> is <code>null</code>, the filter will be ignored (all nodes will be accepted). If <code>aNodeIterator</code> is <code>null</code>, an empty list will be returned. If <code>aMaxNodesToFind</code> is negative, an empty list will be returned.
166
+ * @since Sitevision 3.6.2
167
+ */
168
+ findNodes(
169
+ aNodeIterator: NodeIterator,
170
+ aFilter: Filter,
171
+ aMaxNodesToFind: number
172
+ ): unknown;
164
173
 
165
- /**
166
- * Gets a list of all nodes from a node iterator that matches a specified filter.
167
- *
168
- * <p>
169
- * <em>Tip!</em> Use {@link senselogic.sitevision.api.node.NodeFilterUtil} to get
170
- * an appropriate node filter. If the list of nodes should be sorted by a specific property value,
171
- * you would typically use {@link senselogic.sitevision.api.node.NodeComparatorUtil}
172
- * to get an appropriate <code>Comparator</code>.
173
- * </p>
174
- * @param aNodeIterator a node iterator
175
- * @param aFilter a node filter
176
- * @return a list of nodes that matches <code>aFilter</code>, never <code>null</code>. If <code>aFilter</code> is <code>null</code>, the filter will be ignored (all nodes will be accepted). If <code>aNodeIterator</code> is <code>null</code>, an empty list will be returned.
177
- * @since Sitevision 3.6.2
178
- */
179
- export function findAll(aNodeIterator: NodeIterator, aFilter: Filter): unknown;
174
+ /**
175
+ * Gets a list of all nodes from a node iterator that matches a specified filter.
176
+ *
177
+ * <p>
178
+ * <em>Tip!</em> Use {@link senselogic.sitevision.api.node.NodeFilterUtil} to get
179
+ * an appropriate node filter. If the list of nodes should be sorted by a specific property value,
180
+ * you would typically use {@link senselogic.sitevision.api.node.NodeComparatorUtil}
181
+ * to get an appropriate <code>Comparator</code>.
182
+ * </p>
183
+ * @param aNodeIterator a node iterator
184
+ * @param aFilter a node filter
185
+ * @return a list of nodes that matches <code>aFilter</code>, never <code>null</code>. If <code>aFilter</code> is <code>null</code>, the filter will be ignored (all nodes will be accepted). If <code>aNodeIterator</code> is <code>null</code>, an empty list will be returned.
186
+ * @since Sitevision 3.6.2
187
+ */
188
+ findAll(aNodeIterator: NodeIterator, aFilter: Filter): unknown;
180
189
 
181
- /**
182
- * Gets a list of all nodes of a node iterator.
183
- *
184
- * <p>
185
- * <strong>Note!</strong> This is a convenience method to use <strong>only when you must</strong> get nodes as a list!
186
- * The only apparent reason is when you need need to <em>sort</em> the nodes! If you don't, you should use
187
- * the <code>NodeIterator</code> instead and do your processing for each node.
188
- * </p>
189
- * <p>
190
- * <strong>Sorting tip!</strong> When the list of nodes should be sorted by a specific <em>property value</em>,
191
- * you would typically use {@link senselogic.sitevision.api.node.NodeComparatorUtil}to get an appropriate
192
- * <code>Comparator</code>. The list can then be sorted by <code>Collections.sort(List, Comparator)</code>.
193
- * When using Velocity, you must use the non-static class {@link senselogic.sitevision.api.script.factory.CollectionsInstance}.
194
- * </p>
195
- * @param aNodeIterator a node iterator
196
- * @return a list of all nodes provided by <code>aNodeIterator</code>, never <code>null</code>.
197
- * @since Sitevision 3.6.2
198
- */
199
- export function toList(aNodeIterator: NodeIterator): unknown;
190
+ /**
191
+ * Gets a list of all nodes of a node iterator.
192
+ *
193
+ * <p>
194
+ * <strong>Note!</strong> This is a convenience method to use <strong>only when you must</strong> get nodes as a list!
195
+ * The only apparent reason is when you need need to <em>sort</em> the nodes! If you don't, you should use
196
+ * the <code>NodeIterator</code> instead and do your processing for each node.
197
+ * </p>
198
+ * <p>
199
+ * <strong>Sorting tip!</strong> When the list of nodes should be sorted by a specific <em>property value</em>,
200
+ * you would typically use {@link senselogic.sitevision.api.node.NodeComparatorUtil}to get an appropriate
201
+ * <code>Comparator</code>. The list can then be sorted by <code>Collections.sort(List, Comparator)</code>.
202
+ * When using Velocity, you must use the non-static class {@link senselogic.sitevision.api.script.factory.CollectionsInstance}.
203
+ * </p>
204
+ * @param aNodeIterator a node iterator
205
+ * @return a list of all nodes provided by <code>aNodeIterator</code>, never <code>null</code>.
206
+ * @since Sitevision 3.6.2
207
+ */
208
+ toList(aNodeIterator: NodeIterator): unknown;
200
209
 
201
- /**
202
- * Gets the filtering result of a split operation for a node iterator with a node filter as divider.
203
- *
204
- * <p>
205
- * This method would typically be used instead of {@link #findAll(javax.jcr.NodeIterator, senselogic.sitevision.api.base.Filter)}
206
- * when you are also interested in the nodes that does NOT match the filter.
207
- * </p>
208
- * <p>
209
- * <em>Note!</em> If <code>aFilter</code> is <code>null</code>, no nodes will match (all nodes
210
- * gathered via <code>aNodeIterator</code> will be <em>rejected</em> in the resulting filter split).
211
- * </p>
212
- * @param aNodeIterator a node iterator
213
- * @param aFilter a node filter
214
- * @return the filtering result
215
- * @since Sitevision 3.6.3
216
- * @see senselogic.sitevision.api.node.NodeFilterUtil#split(java.util.Collection, senselogic.sitevision.api.base.Filter)
217
- */
218
- export function split(
219
- aNodeIterator: NodeIterator,
220
- aFilter: Filter
221
- ): FilterSplit;
222
-
223
- /**
224
- * Node iterator utility interface.
225
- *
226
- * <p>
227
- * An instance of the Sitevision class implementing this interface can be obtained via
228
- * {@link senselogic.sitevision.api.Utils#getNodeIteratorUtil()}.
229
- * See {@link senselogic.sitevision.api.Utils} for how to obtain an instance of the <code>Utils</code> interface.
230
- * </p>
231
- * @author Magnus Lövgren
232
- */
233
- declare namespace nodeIteratorUtil {
234
- export {
235
- getFilteredNodeIterator,
236
- getNodeIteratorByIdentifier,
237
- getMenuItems,
238
- getMenuItemsByIdentifier,
239
- getMenuItemsIncludingFolders,
240
- getMenuItemsIncludingFoldersByIdentifier,
241
- findFirst,
242
- findNodes,
243
- findAll,
244
- toList,
245
- split,
246
- };
210
+ /**
211
+ * Gets the filtering result of a split operation for a node iterator with a node filter as divider.
212
+ *
213
+ * <p>
214
+ * This method would typically be used instead of {@link #findAll(javax.jcr.NodeIterator, senselogic.sitevision.api.base.Filter)}
215
+ * when you are also interested in the nodes that does NOT match the filter.
216
+ * </p>
217
+ * <p>
218
+ * <em>Note!</em> If <code>aFilter</code> is <code>null</code>, no nodes will match (all nodes
219
+ * gathered via <code>aNodeIterator</code> will be <em>rejected</em> in the resulting filter split).
220
+ * </p>
221
+ * @param aNodeIterator a node iterator
222
+ * @param aFilter a node filter
223
+ * @return the filtering result
224
+ * @since Sitevision 3.6.3
225
+ * @see senselogic.sitevision.api.node.NodeFilterUtil#split(java.util.Collection, senselogic.sitevision.api.base.Filter)
226
+ */
227
+ split(aNodeIterator: NodeIterator, aFilter: Filter): FilterSplit;
247
228
  }
248
229
 
230
+ declare namespace NodeIteratorUtil {}
231
+
232
+ declare var nodeIteratorUtil: NodeIteratorUtil;
233
+
249
234
  export default nodeIteratorUtil;