@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
@@ -1,373 +1,349 @@
1
1
  import type { Node } from "../../types/javax/jcr/Node";
2
2
  import type { Property } from "../../types/javax/jcr/Property";
3
3
 
4
- import LinkValueBuilder from "../LinkValueBuilder";
5
- import RelatedValueBuilder from "../RelatedValueBuilder";
4
+ import type { LinkValueBuilder } from "../LinkValueBuilder";
5
+ import type { RelatedValueBuilder } from "../RelatedValueBuilder";
6
6
 
7
7
  /**
8
8
  * <p>
9
- * Set a new value to a metadata <code>Property</code> on a <code>Node</code>. The node must
10
- * be of such a type where it is possible to define a metadata value (e.g. page, article, template, file, image)
11
- * or an <code>IllegalArgumentException</code> will be thrown.
12
- * </p>
13
- * <p>
14
- * <strong>For comprehensive information about supported metadata</strong> see alternate method
15
- * {@link #setMetadataPropertyValue(javax.jcr.Node, String, Object)}.
16
- * </p>
17
- *
18
- * <p>
19
- * <strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
20
- * Hence, if you set a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
21
- * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
22
- * </p>
23
- * @param aNode the <code>Node</code> where the metadata value should be altered. May not be <code>null</code>
24
- * @param aProperty the <code>Property</code> that should be altered. May not be <code>null</code>
25
- * @param aValue the new value. May not be <code>null</code>
26
- * @throws LockException is thrown if the specified is locked for editing (i.e. someone else is currently editing the same node)
27
- * @throws RepositoryException if anything goes wrong
28
- * @see #setMetadataPropertyValue(javax.jcr.Node, String, Object)
29
- */
30
- export function setMetadataPropertyValue(
31
- aNode: Node,
32
- aProperty: Property,
33
- aValue: unknown
34
- ): void;
35
-
36
- /**
37
- * <p>
38
- * Set a new value to a metadata <code>Property</code> on a <code>Node</code>. The node must
39
- * be of such a type where it is possible to define a metadata value (e.g. page, article, template, file, image)
40
- * or an <code>IllegalArgumentException</code> will be thrown.
9
+ * Utility used to handle metadata. Due to the nature of the Sitevision metadata it is not suited to alter the values using JCR
10
+ * (i.e. due to inheritance). This utility adds the functionality needed to access and alter metadata.
41
11
  * </p>
42
12
  *
43
- * <p>This method currently supports alternation of the following metadata types:</p>
44
- * <ul>
45
- * <li>
46
- * <strong>text</strong><br>
47
- * The value will be handled as string (i.e. toString).
48
- * </li>
49
- * <li>
50
- * <strong>single alternative</strong><br>
51
- * The value must be a valid alternative, or the metadata definition
52
- * must support 'other' values. If not, an <code>UnsupportedOperationException</code> is
53
- * thrown. The value is handled as a string (i.e. toString).
54
- * </li>
55
- * <li>
56
- * <strong>multiple alternative</strong><br>
57
- * The value must be a valid alternative, or the metadata definition
58
- * must support 'other' values. Any invalid value will be ignored. If no valid alternatives
59
- * are provided an <code>UnsupportedOperationException</code> is thrown. The value is
60
- * a comma separated string of the alternatives. It is also possible to provide a collection
61
- * or an array of strings corresponding to the alternatives.
62
- * </li>
63
- * <li>
64
- * <strong>date</strong><br>
65
- * The value must be a <code>Date</code>, <code>Calendar</code>, <code>Long</code>,
66
- * <code>Integer</code> or <code>Double</code>. If no valid value is provided an
67
- * <code>UnsupportedOperationException</code> is thrown.
68
- * </li>
69
- * <li>
70
- * <strong>user</strong><br>
71
- * The value must be a <code>Node</code> (of type sv:user or sv:simpleUser) or an id <code>String</code> to a JCR-node
72
- * corresponding to the designated user. If no valid value is provided an
73
- * <code>UnsupportedOperationException</code> is thrown.
74
- * </li>
75
- * <li>
76
- * <strong>directory object</strong><br>
77
- * The value must be a <code>Node</code> (of type sv:user, sv:userGroup or sv:userContainer) or an id <code>String</code> to a JCR-node
78
- * corresponding to the designated directory object. It is also possible to provide a collection, an
79
- * array of such objects or a comma separated list of ids. If no valid value is provided an
80
- * <code>UnsupportedOperationException</code> is thrown.
81
- * </li>
82
- * <li>
83
- * <strong>link</strong><br>
84
- * The value must be a {@link senselogic.sitevision.api.metadata.value.LinkValue} <em>(since Sitevision 3.6)</em>,
85
- * a <code>Node</code> or an id <code>String</code> to a JCR-node that can be used as link (e.g. page, article, image, file).
86
- * If no valid value is provided an <code>UnsupportedOperationException</code> is thrown.
87
- * </li>
88
- * <li>
89
- * <strong>link to portlet</strong> <em>(since Sitevision 2.6.2)</em><br>
90
- * The value will be handled as string (i.e. toString).
91
- * </li>
92
- * <li>
93
- * <strong>number</strong> <em>(since Sitevision 2.6.2)</em><br>
94
- * The value must be a <code>Number</code> (e.g. <code>Integer</code>, <code>Long</code>, <code>Double</code> etc.)
95
- * or the toString() method of the value must be parseable as an int <em>(i.e. Integer.parseInt(aValue.toString())
96
- * must not throw a NumberFormatException)</em>.
97
- * If no valid value is provided an <code>UnsupportedOperationException</code> is thrown.
98
- * </li>
99
- * <li>
100
- * <strong>related</strong> <em>(since Sitevision 3.6)</em><br>
101
- * The value must be a {@link senselogic.sitevision.api.metadata.value.RelatedValue}.
102
- * If no valid value is provided an <code>UnsupportedOperationException</code> is thrown.
103
- * </li>
104
- * <li>
105
- * <strong>single tag</strong> <em>(since Sitevision 7.2)</em><br>
106
- * The value must be a valid tag, or the metadata definition
107
- * must allow custom tags. If not, an <code>UnsupportedOperationException</code> is
108
- * thrown. The value must be of type <code>sv:tag</code> or a tag name as a <code>String</code>.
109
- * </li>
110
- * <li>
111
- * <strong>multiple tags</strong> <em>(since Sitevision 7.2)</em><br>
112
- * The value must be a valid tag, or the metadata definition
113
- * must allow custom tags. Any invalid tags will be ignored. If no valid tags
114
- * are provided an <code>UnsupportedOperationException</code> is thrown. The value is
115
- * a comma separated string of the tag names. Note that tag names provided as a comma separated string must be prefixed with #.
116
- * It is also possible to provide a collection or an array of <code>sv:tag</code> or strings of tag names.
117
- * </li>
118
- * </ul>
119
- *
120
13
  * <p>
121
- * <strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
122
- * Hence, if you set a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
123
- * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
14
+ * Note that any metadata value is available as property on a JCR-node.
124
15
  * </p>
125
16
  *
126
17
  * <p>
127
- * Throws <code>NullPointerException</code> or <code>IllegalArgumentException</code> if an illegal argument is provided.
128
- * Throws <code>UnsupportedOperationException</code> if an invalid value or metadata property type is specified.
129
- * Throws <code>ConstraintViolationException</code> <em>(i.e. a <code>RepositoryException</code>)</em> if current user
130
- * doesn't have permission to write metadata on the node.
18
+ * An instance of the Sitevision class implementing this interface can be obtained via {@link senselogic.sitevision.api.Utils#getMetadataUtil()}.
19
+ * See {@link senselogic.sitevision.api.Utils} for how to obtain an instance of the <code>Utils</code> interface.
131
20
  * </p>
132
- * @param aNode the <code>Node</code> where the metadata value should be altered. May not be <code>null</code>
133
- * @param aPropertyName the name of the metadata property that should be altered. May not be <code>null</code>
134
- * @param aValue the new value. May not be <code>null</code>
135
- * @throws LockException is thrown if the specified node is locked for editing (i.e. someone else is currently editing the same node)
136
- * @throws RepositoryException if anything goes wrong
137
- * @see #setMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property, Object)
21
+ * @author Mikael Wikblom
22
+ * @since Sitevision 2.6.1
138
23
  */
139
- export function setMetadataPropertyValue(
140
- aNode: Node,
141
- aPropertyName: string,
142
- aValue: unknown
143
- ): void;
24
+ export interface MetadataUtil {
25
+ /**
26
+ * <p>
27
+ * Set a new value to a metadata <code>Property</code> on a <code>Node</code>. The node must
28
+ * be of such a type where it is possible to define a metadata value (e.g. page, article, template, file, image)
29
+ * or an <code>IllegalArgumentException</code> will be thrown.
30
+ * </p>
31
+ * <p>
32
+ * <strong>For comprehensive information about supported metadata</strong> see alternate method
33
+ * {@link #setMetadataPropertyValue(javax.jcr.Node, String, Object)}.
34
+ * </p>
35
+ *
36
+ * <p>
37
+ * <strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
38
+ * Hence, if you set a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
39
+ * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
40
+ * </p>
41
+ * @param aNode the <code>Node</code> where the metadata value should be altered. May not be <code>null</code>
42
+ * @param aProperty the <code>Property</code> that should be altered. May not be <code>null</code>
43
+ * @param aValue the new value. May not be <code>null</code>
44
+ * @throws LockException is thrown if the specified is locked for editing (i.e. someone else is currently editing the same node)
45
+ * @throws RepositoryException if anything goes wrong
46
+ * @see #setMetadataPropertyValue(javax.jcr.Node, String, Object)
47
+ */
48
+ setMetadataPropertyValue(
49
+ aNode: Node,
50
+ aProperty: Property,
51
+ aValue: unknown
52
+ ): void;
144
53
 
145
- /**
146
- * <p>Removes a metadata <code>Property</code> value on a <code>Node</code>. The node must
147
- * be of such a type where it is possible to define a metadata value (e.g. page, article, template,
148
- * file, image) or an <code>IllegalArgumentException</code> will be thrown.</p>
149
- *
150
- * <p>
151
- * For comprehensive information, see alternate method
152
- * {@link #removeMetadataPropertyValue(javax.jcr.Node, String) removeMetadataPropertyValue(Node, String)}
153
- * </p>.
154
- *
155
- * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
156
- * Hence, if you remove a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
157
- * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}</p>
158
- * @param aNode the <code>Node</code> where the metadata value should be removed. May not be <code>null</code>
159
- * @param aProperty the <code>Property</code> that should be removed. May not be <code>null</code>
160
- * @throws RepositoryException if anything goes wrong
161
- * @see #removeMetadataPropertyValue(javax.jcr.Node, String)
162
- */
163
- export function removeMetadataPropertyValue(
164
- aNode: Node,
165
- aProperty: Property
166
- ): void;
54
+ /**
55
+ * <p>
56
+ * Set a new value to a metadata <code>Property</code> on a <code>Node</code>. The node must
57
+ * be of such a type where it is possible to define a metadata value (e.g. page, article, template, file, image)
58
+ * or an <code>IllegalArgumentException</code> will be thrown.
59
+ * </p>
60
+ *
61
+ * <p>This method currently supports alternation of the following metadata types:</p>
62
+ * <ul>
63
+ * <li>
64
+ * <strong>text</strong><br>
65
+ * The value will be handled as string (i.e. toString).
66
+ * </li>
67
+ * <li>
68
+ * <strong>single alternative</strong><br>
69
+ * The value must be a valid alternative, or the metadata definition
70
+ * must support 'other' values. If not, an <code>UnsupportedOperationException</code> is
71
+ * thrown. The value is handled as a string (i.e. toString).
72
+ * </li>
73
+ * <li>
74
+ * <strong>multiple alternative</strong><br>
75
+ * The value must be a valid alternative, or the metadata definition
76
+ * must support 'other' values. Any invalid value will be ignored. If no valid alternatives
77
+ * are provided an <code>UnsupportedOperationException</code> is thrown. The value is
78
+ * a comma separated string of the alternatives. It is also possible to provide a collection
79
+ * or an array of strings corresponding to the alternatives.
80
+ * </li>
81
+ * <li>
82
+ * <strong>date</strong><br>
83
+ * The value must be a <code>Date</code>, <code>Calendar</code>, <code>Long</code>,
84
+ * <code>Integer</code> or <code>Double</code>. If no valid value is provided an
85
+ * <code>UnsupportedOperationException</code> is thrown.
86
+ * </li>
87
+ * <li>
88
+ * <strong>user</strong><br>
89
+ * The value must be a <code>Node</code> (of type sv:user or sv:simpleUser) or an id <code>String</code> to a JCR-node
90
+ * corresponding to the designated user. If no valid value is provided an
91
+ * <code>UnsupportedOperationException</code> is thrown.
92
+ * </li>
93
+ * <li>
94
+ * <strong>directory object</strong><br>
95
+ * The value must be a <code>Node</code> (of type sv:user, sv:userGroup or sv:userContainer) or an id <code>String</code> to a JCR-node
96
+ * corresponding to the designated directory object. It is also possible to provide a collection, an
97
+ * array of such objects or a comma separated list of ids. If no valid value is provided an
98
+ * <code>UnsupportedOperationException</code> is thrown.
99
+ * </li>
100
+ * <li>
101
+ * <strong>link</strong><br>
102
+ * The value must be a {@link senselogic.sitevision.api.metadata.value.LinkValue} <em>(since Sitevision 3.6)</em>,
103
+ * a <code>Node</code> or an id <code>String</code> to a JCR-node that can be used as link (e.g. page, article, image, file).
104
+ * If no valid value is provided an <code>UnsupportedOperationException</code> is thrown.
105
+ * </li>
106
+ * <li>
107
+ * <strong>link to portlet</strong> <em>(since Sitevision 2.6.2)</em><br>
108
+ * The value will be handled as string (i.e. toString).
109
+ * </li>
110
+ * <li>
111
+ * <strong>number</strong> <em>(since Sitevision 2.6.2)</em><br>
112
+ * The value must be a <code>Number</code> (e.g. <code>Integer</code>, <code>Long</code>, <code>Double</code> etc.)
113
+ * or the toString() method of the value must be parseable as an int <em>(i.e. Integer.parseInt(aValue.toString())
114
+ * must not throw a NumberFormatException)</em>.
115
+ * If no valid value is provided an <code>UnsupportedOperationException</code> is thrown.
116
+ * </li>
117
+ * <li>
118
+ * <strong>related</strong> <em>(since Sitevision 3.6)</em><br>
119
+ * The value must be a {@link senselogic.sitevision.api.metadata.value.RelatedValue}.
120
+ * If no valid value is provided an <code>UnsupportedOperationException</code> is thrown.
121
+ * </li>
122
+ * <li>
123
+ * <strong>single tag</strong> <em>(since Sitevision 7.2)</em><br>
124
+ * The value must be a valid tag, or the metadata definition
125
+ * must allow custom tags. If not, an <code>UnsupportedOperationException</code> is
126
+ * thrown. The value must be of type <code>sv:tag</code> or a tag name as a <code>String</code>.
127
+ * </li>
128
+ * <li>
129
+ * <strong>multiple tags</strong> <em>(since Sitevision 7.2)</em><br>
130
+ * The value must be a valid tag, or the metadata definition
131
+ * must allow custom tags. Any invalid tags will be ignored. If no valid tags
132
+ * are provided an <code>UnsupportedOperationException</code> is thrown. The value is
133
+ * a comma separated string of the tag names. Note that tag names provided as a comma separated string must be prefixed with #.
134
+ * It is also possible to provide a collection or an array of <code>sv:tag</code> or strings of tag names.
135
+ * </li>
136
+ * </ul>
137
+ *
138
+ * <p>
139
+ * <strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
140
+ * Hence, if you set a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
141
+ * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
142
+ * </p>
143
+ *
144
+ * <p>
145
+ * Throws <code>NullPointerException</code> or <code>IllegalArgumentException</code> if an illegal argument is provided.
146
+ * Throws <code>UnsupportedOperationException</code> if an invalid value or metadata property type is specified.
147
+ * Throws <code>ConstraintViolationException</code> <em>(i.e. a <code>RepositoryException</code>)</em> if current user
148
+ * doesn't have permission to write metadata on the node.
149
+ * </p>
150
+ * @param aNode the <code>Node</code> where the metadata value should be altered. May not be <code>null</code>
151
+ * @param aPropertyName the name of the metadata property that should be altered. May not be <code>null</code>
152
+ * @param aValue the new value. May not be <code>null</code>
153
+ * @throws LockException is thrown if the specified node is locked for editing (i.e. someone else is currently editing the same node)
154
+ * @throws RepositoryException if anything goes wrong
155
+ * @see #setMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property, Object)
156
+ */
157
+ setMetadataPropertyValue(
158
+ aNode: Node,
159
+ aPropertyName: string,
160
+ aValue: unknown
161
+ ): void;
167
162
 
168
- /**
169
- * <p>Removes a metadata <code>Property</code> value on a <code>Node</code>. The node must
170
- * be of such a type where it is possible to define a metadata value (e.g. page, article, template,
171
- * file, image) or an <code>IllegalArgumentException</code> will be thrown.</p>
172
- *
173
- * <p>Due to the hierarchical nature of the metadata and the inheritance mechanism, a removal of a value
174
- * does not necessarily mean that the value is removed (it may then be inherited from a parent node)</p>
175
- *
176
- * <p>Note that the result of removal of a text metadata on the node where the metadata definition is defined
177
- * is not the <code>null</code> value but an empty <code>String</code>. This means that the JCR property will be available after
178
- * the removal and contain "" as value.</p>
179
- *
180
- * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
181
- * Hence, if you remove a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
182
- * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}</p>
183
- *
184
- * <p>Throws <code>NullPointerException</code> or <code>IllegalArgumentException</code> if illegal arguments
185
- * are used. Throws <code>ConstraintViolationException</code> <em>(i.e. a <code>RepositoryException</code>)</em>
186
- * if current user doesn't have permission to write metadata on the node.</p>
187
- * @param aNode the <code>Node</code> where the metadata value should be removed. May not be <code>null</code>
188
- * @param aPropertyName the name of the metadata property that should be removed. May not be <code>null</code>
189
- * @throws RepositoryException if anything goes wrong
190
- * @see #removeMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property)
191
- */
192
- export function removeMetadataPropertyValue(
193
- aNode: Node,
194
- aPropertyName: string
195
- ): void;
163
+ /**
164
+ * <p>Removes a metadata <code>Property</code> value on a <code>Node</code>. The node must
165
+ * be of such a type where it is possible to define a metadata value (e.g. page, article, template,
166
+ * file, image) or an <code>IllegalArgumentException</code> will be thrown.</p>
167
+ *
168
+ * <p>
169
+ * For comprehensive information, see alternate method
170
+ * {@link #removeMetadataPropertyValue(javax.jcr.Node, String) removeMetadataPropertyValue(Node, String)}
171
+ * </p>.
172
+ *
173
+ * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
174
+ * Hence, if you remove a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
175
+ * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}</p>
176
+ * @param aNode the <code>Node</code> where the metadata value should be removed. May not be <code>null</code>
177
+ * @param aProperty the <code>Property</code> that should be removed. May not be <code>null</code>
178
+ * @throws RepositoryException if anything goes wrong
179
+ * @see #removeMetadataPropertyValue(javax.jcr.Node, String)
180
+ */
181
+ removeMetadataPropertyValue(aNode: Node, aProperty: Property): void;
196
182
 
197
- /**
198
- * <p>Returns a <code>boolean</code> indicating that the metadata value on the <code>Node</code> is
199
- * inherited from a parent node.</p>
200
- *
201
- * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
202
- * <code>Node</code> and the value is <code>null</code></p>
203
- *
204
- * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}</p>
205
- * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
206
- * @param aProperty the metadata <code>Property</code> that should be queried. May not be <code>null</code>
207
- * @return a <code>boolean</code> indicating the inheritance
208
- * @throws RepositoryException if anything goes wrong
209
- * @see #isMetadataValueInherited(javax.jcr.Node, javax.jcr.Property, int)
210
- */
211
- export function isMetadataValueInherited(
212
- aNode: Node,
213
- aProperty: Property
214
- ): boolean;
183
+ /**
184
+ * <p>Removes a metadata <code>Property</code> value on a <code>Node</code>. The node must
185
+ * be of such a type where it is possible to define a metadata value (e.g. page, article, template,
186
+ * file, image) or an <code>IllegalArgumentException</code> will be thrown.</p>
187
+ *
188
+ * <p>Due to the hierarchical nature of the metadata and the inheritance mechanism, a removal of a value
189
+ * does not necessarily mean that the value is removed (it may then be inherited from a parent node)</p>
190
+ *
191
+ * <p>Note that the result of removal of a text metadata on the node where the metadata definition is defined
192
+ * is not the <code>null</code> value but an empty <code>String</code>. This means that the JCR property will be available after
193
+ * the removal and contain "" as value.</p>
194
+ *
195
+ * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}.
196
+ * Hence, if you remove a metadata value, <code>aNode</code> must be published (see {@link senselogic.sitevision.api.versioning.PublishingUtil})
197
+ * to have any effect in the {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}</p>
198
+ *
199
+ * <p>Throws <code>NullPointerException</code> or <code>IllegalArgumentException</code> if illegal arguments
200
+ * are used. Throws <code>ConstraintViolationException</code> <em>(i.e. a <code>RepositoryException</code>)</em>
201
+ * if current user doesn't have permission to write metadata on the node.</p>
202
+ * @param aNode the <code>Node</code> where the metadata value should be removed. May not be <code>null</code>
203
+ * @param aPropertyName the name of the metadata property that should be removed. May not be <code>null</code>
204
+ * @throws RepositoryException if anything goes wrong
205
+ * @see #removeMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property)
206
+ */
207
+ removeMetadataPropertyValue(aNode: Node, aPropertyName: string): void;
215
208
 
216
- /**
217
- * <p>Returns a <code>boolean</code> indicating that the metadata value in a specified version on the <code>Node</code> is
218
- * inherited from a parent node.</p>
219
- *
220
- * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
221
- * <code>Node</code> and the value is <code>null</code></p>
222
- * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
223
- * @param aProperty the metadata <code>Property</code> that should be queried. May not be <code>null</code>
224
- * @param aVersion {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION} or {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
225
- * @return a <code>boolean</code> indicating the inheritance
226
- * @throws RepositoryException if anything goes wrong
227
- * @since Sitevision 2.6.1_04
228
- */
229
- export function isMetadataValueInherited(
230
- aNode: Node,
231
- aProperty: Property,
232
- aVersion: number
233
- ): boolean;
209
+ /**
210
+ * <p>Returns a <code>boolean</code> indicating that the metadata value on the <code>Node</code> is
211
+ * inherited from a parent node.</p>
212
+ *
213
+ * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
214
+ * <code>Node</code> and the value is <code>null</code></p>
215
+ *
216
+ * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}</p>
217
+ * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
218
+ * @param aProperty the metadata <code>Property</code> that should be queried. May not be <code>null</code>
219
+ * @return a <code>boolean</code> indicating the inheritance
220
+ * @throws RepositoryException if anything goes wrong
221
+ * @see #isMetadataValueInherited(javax.jcr.Node, javax.jcr.Property, int)
222
+ */
223
+ isMetadataValueInherited(aNode: Node, aProperty: Property): boolean;
234
224
 
235
- /**
236
- * <p>Returns a <code>boolean</code> indicating that the metadata value on the <code>Node</code> is
237
- * inherited from a parent node.</p>
238
- *
239
- * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
240
- * <code>Node</code> and the value is <code>null</code></p>
241
- *
242
- * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}</p>
243
- * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
244
- * @param aPropertyName the name of the metadata property that should be queried. May not be <code>null</code>
245
- * @return a <code>boolean</code> indicating the inheritance
246
- * @throws RepositoryException if anything goes wrong
247
- * @see #isMetadataValueInherited(javax.jcr.Node, String, int)
248
- */
249
- export function isMetadataValueInherited(
250
- aNode: Node,
251
- aPropertyName: string
252
- ): boolean;
225
+ /**
226
+ * <p>Returns a <code>boolean</code> indicating that the metadata value in a specified version on the <code>Node</code> is
227
+ * inherited from a parent node.</p>
228
+ *
229
+ * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
230
+ * <code>Node</code> and the value is <code>null</code></p>
231
+ * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
232
+ * @param aProperty the metadata <code>Property</code> that should be queried. May not be <code>null</code>
233
+ * @param aVersion {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION} or {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
234
+ * @return a <code>boolean</code> indicating the inheritance
235
+ * @throws RepositoryException if anything goes wrong
236
+ * @since Sitevision 2.6.1_04
237
+ */
238
+ isMetadataValueInherited(
239
+ aNode: Node,
240
+ aProperty: Property,
241
+ aVersion: number
242
+ ): boolean;
253
243
 
254
- /**
255
- * <p>Returns a <code>boolean</code> indicating that the metadata value in a specified version on the <code>Node</code> is
256
- * inherited from a parent node.</p>
257
- *
258
- * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
259
- * <code>Node</code> and the value is <code>null</code></p>
260
- * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
261
- * @param aPropertyName the name of the metadata property that should be queried. May not be <code>null</code>
262
- * @param aVersion {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION} or {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
263
- * @return a <code>boolean</code> indicating the inheritance
264
- * @throws RepositoryException if anything goes wrong
265
- * @since Sitevision 2.6.1_04
266
- */
267
- export function isMetadataValueInherited(
268
- aNode: Node,
269
- aPropertyName: string,
270
- aVersion: number
271
- ): boolean;
244
+ /**
245
+ * <p>Returns a <code>boolean</code> indicating that the metadata value on the <code>Node</code> is
246
+ * inherited from a parent node.</p>
247
+ *
248
+ * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
249
+ * <code>Node</code> and the value is <code>null</code></p>
250
+ *
251
+ * <p><strong>Important note!</strong> This method operates in the {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION}</p>
252
+ * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
253
+ * @param aPropertyName the name of the metadata property that should be queried. May not be <code>null</code>
254
+ * @return a <code>boolean</code> indicating the inheritance
255
+ * @throws RepositoryException if anything goes wrong
256
+ * @see #isMetadataValueInherited(javax.jcr.Node, String, int)
257
+ */
258
+ isMetadataValueInherited(aNode: Node, aPropertyName: string): boolean;
272
259
 
273
- /**
274
- * <p>
275
- * Returns a <code>List</code> containing all related metadata values for a specified <code>Node</code>.
276
- * </p>
277
- *
278
- * <p>
279
- * <strong>Important note!</strong> The returned List is not type safe and my contain either a <code>Node</code>
280
- * and/or a <code>String</code> depending on its findings.
281
- * </p>
282
- * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
283
- * @param aPropertyName the name of the metadata property that should be queried. May not be <code>null</code>
284
- * @return a <code>List</code> containing all related metadata values, or an <code>empty List</code> if no could be found.
285
- * @throws NullPointerException if <code>aNode</code> or <code>aPropertyName</code> is <code>null</code>.
286
- * @throws IllegalArgumentException if <code>aNode</code> is of wrong type (a node that doesn't have metadata).
287
- * @throws RepositoryException if anything goes wrong while accessing <code>aNode</code> or extracting the result
288
- * @since Sitevision 2.6.2_03
289
- */
290
- export function getRelatedMetadataPropertyValues(
291
- aNode: Node,
292
- aPropertyName: string
293
- ): unknown;
260
+ /**
261
+ * <p>Returns a <code>boolean</code> indicating that the metadata value in a specified version on the <code>Node</code> is
262
+ * inherited from a parent node.</p>
263
+ *
264
+ * <p>Note that this method returns <code>true</code> when the metadata definition is defined on the
265
+ * <code>Node</code> and the value is <code>null</code></p>
266
+ * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
267
+ * @param aPropertyName the name of the metadata property that should be queried. May not be <code>null</code>
268
+ * @param aVersion {@link senselogic.sitevision.api.versioning.VersionUtil#OFFLINE_VERSION} or {@link senselogic.sitevision.api.versioning.VersionUtil#ONLINE_VERSION}
269
+ * @return a <code>boolean</code> indicating the inheritance
270
+ * @throws RepositoryException if anything goes wrong
271
+ * @since Sitevision 2.6.1_04
272
+ */
273
+ isMetadataValueInherited(
274
+ aNode: Node,
275
+ aPropertyName: string,
276
+ aVersion: number
277
+ ): boolean;
294
278
 
295
- /**
296
- * <p>Returns a <code>Node</code> for a link metadata on a specified <code>Node</code>.</p>
297
- *
298
- * <p><strong>Important note!</strong> The nodes returned by this method are temporary objects and are not part of the
299
- * Sitevision model. This means that methods like {@link javax.jcr.Node#getPath()}, {@link javax.jcr.Node#getParent()} and
300
- * {@link javax.jcr.Node#getName()} etc. will not return any information.</p>
301
- * @param aNode the <code>Node</code> that contains the link metadata value. May not be <code>null</code>
302
- * @param aPropertyName the name of the link metadata property that should be queried. May not be <code>null</code>
303
- * @return a temporary <code>Node</code> representing the link metadata value, or <code>null</code> if no link could be found.
304
- * @throws NullPointerException if <code>aNode</code> or <code>aPropertyName</code> is <code>null</code>.
305
- * @throws IllegalArgumentException if <code>aNode</code> is of wrong type (a node that doesn't have metadata).
306
- * @throws RepositoryException if anything goes wrong while accessing <code>aNode</code> or extracting the result
307
- * @since Sitevision 3.1
308
- */
309
- export function getLinkMetadataPropertyValue(
310
- aNode: Node,
311
- aPropertyName: string
312
- ): Node;
279
+ /**
280
+ * <p>
281
+ * Returns a <code>List</code> containing all related metadata values for a specified <code>Node</code>.
282
+ * </p>
283
+ *
284
+ * <p>
285
+ * <strong>Important note!</strong> The returned List is not type safe and my contain either a <code>Node</code>
286
+ * and/or a <code>String</code> depending on its findings.
287
+ * </p>
288
+ * @param aNode the <code>Node</code> that contains the metadata value. May not be <code>null</code>
289
+ * @param aPropertyName the name of the metadata property that should be queried. May not be <code>null</code>
290
+ * @return a <code>List</code> containing all related metadata values, or an <code>empty List</code> if no could be found.
291
+ * @throws NullPointerException if <code>aNode</code> or <code>aPropertyName</code> is <code>null</code>.
292
+ * @throws IllegalArgumentException if <code>aNode</code> is of wrong type (a node that doesn't have metadata).
293
+ * @throws RepositoryException if anything goes wrong while accessing <code>aNode</code> or extracting the result
294
+ * @since Sitevision 2.6.2_03
295
+ */
296
+ getRelatedMetadataPropertyValues(aNode: Node, aPropertyName: string): unknown;
313
297
 
314
- /**
315
- * <p>
316
- * Returns a link value builder that can be used to build <code>LinkValue</code> instances.
317
- * </p>
318
- *
319
- * <p>
320
- * <strong>Tip!</strong> A <code>LinkValue</code> can be used to set a <em>link metadata</em>
321
- * via {@link #setMetadataPropertyValue(javax.jcr.Node, String, Object)}
322
- * or {@link #setMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property, Object)}.
323
- * </p>
324
- * @return a link value builder.
325
- * @since Sitevision 3.6
326
- */
327
- export function getLinkValueBuilder(): LinkValueBuilder;
298
+ /**
299
+ * <p>Returns a <code>Node</code> for a link metadata on a specified <code>Node</code>.</p>
300
+ *
301
+ * <p><strong>Important note!</strong> The nodes returned by this method are temporary objects and are not part of the
302
+ * Sitevision model. This means that methods like {@link javax.jcr.Node#getPath()}, {@link javax.jcr.Node#getParent()} and
303
+ * {@link javax.jcr.Node#getName()} etc. will not return any information.</p>
304
+ * @param aNode the <code>Node</code> that contains the link metadata value. May not be <code>null</code>
305
+ * @param aPropertyName the name of the link metadata property that should be queried. May not be <code>null</code>
306
+ * @return a temporary <code>Node</code> representing the link metadata value, or <code>null</code> if no link could be found.
307
+ * @throws NullPointerException if <code>aNode</code> or <code>aPropertyName</code> is <code>null</code>.
308
+ * @throws IllegalArgumentException if <code>aNode</code> is of wrong type (a node that doesn't have metadata).
309
+ * @throws RepositoryException if anything goes wrong while accessing <code>aNode</code> or extracting the result
310
+ * @since Sitevision 3.1
311
+ */
312
+ getLinkMetadataPropertyValue(aNode: Node, aPropertyName: string): Node;
328
313
 
329
- /**
330
- * <p>
331
- * Returns a related value builder that can be used to build <code>RelatedValue</code> instances.
332
- * </p>
333
- *
334
- * <p>
335
- * <strong>Tip!</strong> A <code>RelatedValue</code> can be used to set a <em>related metadata</em>
336
- * via {@link #setMetadataPropertyValue(javax.jcr.Node, String, Object)}
337
- * or {@link #setMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property, Object)}.
338
- * </p>
339
- * @return a related value builder.
340
- * @since Sitevision 3.6
341
- */
342
- export function getRelatedValueBuilder(): RelatedValueBuilder;
314
+ /**
315
+ * <p>
316
+ * Returns a link value builder that can be used to build <code>LinkValue</code> instances.
317
+ * </p>
318
+ *
319
+ * <p>
320
+ * <strong>Tip!</strong> A <code>LinkValue</code> can be used to set a <em>link metadata</em>
321
+ * via {@link #setMetadataPropertyValue(javax.jcr.Node, String, Object)}
322
+ * or {@link #setMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property, Object)}.
323
+ * </p>
324
+ * @return a link value builder.
325
+ * @since Sitevision 3.6
326
+ */
327
+ getLinkValueBuilder(): LinkValueBuilder;
343
328
 
344
- /**
345
- * <p>
346
- * Utility used to handle metadata. Due to the nature of the Sitevision metadata it is not suited to alter the values using JCR
347
- * (i.e. due to inheritance). This utility adds the functionality needed to access and alter metadata.
348
- * </p>
349
- *
350
- * <p>
351
- * Note that any metadata value is available as property on a JCR-node.
352
- * </p>
353
- *
354
- * <p>
355
- * An instance of the Sitevision class implementing this interface can be obtained via {@link senselogic.sitevision.api.Utils#getMetadataUtil()}.
356
- * See {@link senselogic.sitevision.api.Utils} for how to obtain an instance of the <code>Utils</code> interface.
357
- * </p>
358
- * @author Mikael Wikblom
359
- * @since Sitevision 2.6.1
360
- */
361
- declare namespace metadataUtil {
362
- export {
363
- setMetadataPropertyValue,
364
- removeMetadataPropertyValue,
365
- isMetadataValueInherited,
366
- getRelatedMetadataPropertyValues,
367
- getLinkMetadataPropertyValue,
368
- getLinkValueBuilder,
369
- getRelatedValueBuilder,
370
- };
329
+ /**
330
+ * <p>
331
+ * Returns a related value builder that can be used to build <code>RelatedValue</code> instances.
332
+ * </p>
333
+ *
334
+ * <p>
335
+ * <strong>Tip!</strong> A <code>RelatedValue</code> can be used to set a <em>related metadata</em>
336
+ * via {@link #setMetadataPropertyValue(javax.jcr.Node, String, Object)}
337
+ * or {@link #setMetadataPropertyValue(javax.jcr.Node, javax.jcr.Property, Object)}.
338
+ * </p>
339
+ * @return a related value builder.
340
+ * @since Sitevision 3.6
341
+ */
342
+ getRelatedValueBuilder(): RelatedValueBuilder;
371
343
  }
372
344
 
345
+ declare namespace MetadataUtil {}
346
+
347
+ declare var metadataUtil: MetadataUtil;
348
+
373
349
  export default metadataUtil;