@sitevision/api 1.0.19 → 1.1.0-alpha.1

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 (299) hide show
  1. package/common/router/index.d.ts +1 -1
  2. package/hidden/javax/jcr/Binary/index.d.ts +86 -0
  3. package/hidden/javax/jcr/Credentials/index.d.ts +11 -0
  4. package/hidden/javax/jcr/ImportUUIDBehavior/index.d.ts +11 -0
  5. package/hidden/javax/jcr/Item/index.d.ts +353 -0
  6. package/hidden/javax/jcr/ItemVisitor/index.d.ts +41 -0
  7. package/hidden/javax/jcr/NamespaceRegistry/index.d.ts +100 -0
  8. package/hidden/javax/jcr/Node/index.d.ts +2808 -0
  9. package/hidden/javax/jcr/NodeIterator/index.d.ts +18 -0
  10. package/hidden/javax/jcr/Property/index.d.ts +801 -0
  11. package/hidden/javax/jcr/PropertyIterator/index.d.ts +17 -0
  12. package/hidden/javax/jcr/RangeIterator/index.d.ts +75 -0
  13. package/hidden/javax/jcr/Repository/index.d.ts +318 -0
  14. package/hidden/javax/jcr/RepositoryFactory/index.d.ts +90 -0
  15. package/hidden/javax/jcr/Value/index.d.ts +190 -0
  16. package/hidden/javax/jcr/ValueFactory/index.d.ts +179 -0
  17. package/hidden/javax/jcr/Workspace/index.d.ts +1061 -0
  18. package/hidden/javax/jcr/lock/Lock/index.d.ts +142 -0
  19. package/hidden/javax/jcr/lock/LockManager/index.d.ts +217 -0
  20. package/hidden/javax/jcr/nodetype/ItemDefinition/index.d.ts +219 -0
  21. package/hidden/javax/jcr/nodetype/NodeDefinition/index.d.ts +158 -0
  22. package/hidden/javax/jcr/nodetype/NodeDefinitionTemplate/index.d.ts +74 -0
  23. package/hidden/javax/jcr/nodetype/NodeType/index.d.ts +349 -0
  24. package/hidden/javax/jcr/nodetype/NodeTypeDefinition/index.d.ts +248 -0
  25. package/hidden/javax/jcr/nodetype/NodeTypeIterator/index.d.ts +16 -0
  26. package/hidden/javax/jcr/nodetype/NodeTypeManager/index.d.ts +218 -0
  27. package/hidden/javax/jcr/nodetype/NodeTypeTemplate/index.d.ts +98 -0
  28. package/hidden/javax/jcr/nodetype/PropertyDefinition/index.d.ts +536 -0
  29. package/hidden/javax/jcr/nodetype/PropertyDefinitionTemplate/index.d.ts +97 -0
  30. package/hidden/javax/jcr/observation/Event/index.d.ts +133 -0
  31. package/hidden/javax/jcr/observation/EventIterator/index.d.ts +20 -0
  32. package/hidden/javax/jcr/observation/EventJournal/index.d.ts +22 -0
  33. package/hidden/javax/jcr/observation/EventListener/index.d.ts +23 -0
  34. package/hidden/javax/jcr/observation/EventListenerIterator/index.d.ts +20 -0
  35. package/hidden/javax/jcr/observation/ObservationManager/index.d.ts +227 -0
  36. package/hidden/javax/jcr/query/Query/index.d.ts +201 -0
  37. package/hidden/javax/jcr/query/QueryManager/index.d.ts +73 -0
  38. package/hidden/javax/jcr/query/QueryResult/index.d.ts +51 -0
  39. package/hidden/javax/jcr/query/Row/index.d.ts +159 -0
  40. package/hidden/javax/jcr/query/RowIterator/index.d.ts +20 -0
  41. package/hidden/javax/jcr/query/qom/And/index.d.ts +26 -0
  42. package/hidden/javax/jcr/query/qom/BindVariableValue/index.d.ts +15 -0
  43. package/hidden/javax/jcr/query/qom/ChildNode/index.d.ts +27 -0
  44. package/hidden/javax/jcr/query/qom/ChildNodeJoinCondition/index.d.ts +27 -0
  45. package/hidden/javax/jcr/query/qom/Column/index.d.ts +39 -0
  46. package/hidden/javax/jcr/query/qom/Comparison/index.d.ts +82 -0
  47. package/hidden/javax/jcr/query/qom/Constraint/index.d.ts +13 -0
  48. package/hidden/javax/jcr/query/qom/DescendantNode/index.d.ts +31 -0
  49. package/hidden/javax/jcr/query/qom/DescendantNodeJoinCondition/index.d.ts +29 -0
  50. package/hidden/javax/jcr/query/qom/DynamicOperand/index.d.ts +9 -0
  51. package/hidden/javax/jcr/query/qom/EquiJoinCondition/index.d.ts +41 -0
  52. package/hidden/javax/jcr/query/qom/FullTextSearch/index.d.ts +89 -0
  53. package/hidden/javax/jcr/query/qom/FullTextSearchScore/index.d.ts +24 -0
  54. package/hidden/javax/jcr/query/qom/Join/index.d.ts +36 -0
  55. package/hidden/javax/jcr/query/qom/JoinCondition/index.d.ts +9 -0
  56. package/hidden/javax/jcr/query/qom/Length/index.d.ts +24 -0
  57. package/hidden/javax/jcr/query/qom/Literal/index.d.ts +18 -0
  58. package/hidden/javax/jcr/query/qom/LowerCase/index.d.ts +26 -0
  59. package/hidden/javax/jcr/query/qom/NodeLocalName/index.d.ts +16 -0
  60. package/hidden/javax/jcr/query/qom/NodeName/index.d.ts +16 -0
  61. package/hidden/javax/jcr/query/qom/Not/index.d.ts +20 -0
  62. package/hidden/javax/jcr/query/qom/Operand/index.d.ts +9 -0
  63. package/hidden/javax/jcr/query/qom/Or/index.d.ts +30 -0
  64. package/hidden/javax/jcr/query/qom/Ordering/index.d.ts +53 -0
  65. package/hidden/javax/jcr/query/qom/PropertyExistence/index.d.ts +24 -0
  66. package/hidden/javax/jcr/query/qom/PropertyValue/index.d.ts +25 -0
  67. package/hidden/javax/jcr/query/qom/QueryObjectModel/index.d.ts +64 -0
  68. package/hidden/javax/jcr/query/qom/QueryObjectModelConstants/index.d.ts +9 -0
  69. package/hidden/javax/jcr/query/qom/QueryObjectModelFactory/index.d.ts +638 -0
  70. package/hidden/javax/jcr/query/qom/SameNode/index.d.ts +27 -0
  71. package/hidden/javax/jcr/query/qom/SameNodeJoinCondition/index.d.ts +36 -0
  72. package/hidden/javax/jcr/query/qom/Selector/index.d.ts +35 -0
  73. package/hidden/javax/jcr/query/qom/Source/index.d.ts +9 -0
  74. package/hidden/javax/jcr/query/qom/StaticOperand/index.d.ts +10 -0
  75. package/hidden/javax/jcr/query/qom/UpperCase/index.d.ts +26 -0
  76. package/hidden/javax/jcr/retention/Hold/index.d.ts +34 -0
  77. package/hidden/javax/jcr/retention/RetentionManager/index.d.ts +189 -0
  78. package/hidden/javax/jcr/retention/RetentionPolicy/index.d.ts +21 -0
  79. package/hidden/javax/jcr/security/AccessControlEntry/index.d.ts +24 -0
  80. package/hidden/javax/jcr/security/AccessControlList/index.d.ts +91 -0
  81. package/hidden/javax/jcr/security/AccessControlManager/index.d.ts +297 -0
  82. package/hidden/javax/jcr/security/AccessControlPolicy/index.d.ts +11 -0
  83. package/hidden/javax/jcr/security/AccessControlPolicyIterator/index.d.ts +20 -0
  84. package/hidden/javax/jcr/security/NamedAccessControlPolicy/index.d.ts +22 -0
  85. package/hidden/javax/jcr/security/Privilege/index.d.ts +117 -0
  86. package/hidden/javax/jcr/version/Version/index.d.ts +121 -0
  87. package/hidden/javax/jcr/version/VersionHistory/index.d.ts +307 -0
  88. package/hidden/javax/jcr/version/VersionIterator/index.d.ts +20 -0
  89. package/hidden/javax/jcr/version/VersionManager/index.d.ts +1082 -0
  90. package/hidden/senselogic/sitevision/api/base/Builder/index.d.ts +102 -0
  91. package/hidden/senselogic/sitevision/api/base/Filter/index.d.ts +25 -0
  92. package/hidden/senselogic/sitevision/api/base/FilterSplit/index.d.ts +50 -0
  93. package/hidden/senselogic/sitevision/api/base/Loadable/index.d.ts +15 -0
  94. package/hidden/senselogic/sitevision/api/base/Resolver/index.d.ts +31 -0
  95. package/hidden/senselogic/sitevision/api/base/Wrapper/index.d.ts +24 -0
  96. package/hidden/senselogic/sitevision/api/collaboration/CollaborationGroupWrapper/index.d.ts +417 -0
  97. package/hidden/senselogic/sitevision/api/format/NumericFormatter/index.d.ts +80 -0
  98. package/hidden/senselogic/sitevision/api/format/NumericFormatterBuilder/index.d.ts +100 -0
  99. package/hidden/senselogic/sitevision/api/i18n/Currency/index.d.ts +120 -0
  100. package/hidden/senselogic/sitevision/api/link/CustomLinkProcessor/index.d.ts +45 -0
  101. package/hidden/senselogic/sitevision/api/link/CustomLinkRenderData/index.d.ts +65 -0
  102. package/hidden/senselogic/sitevision/api/mail/Mail/index.d.ts +32 -0
  103. package/hidden/senselogic/sitevision/api/message/MessageTextLinker/index.d.ts +15 -0
  104. package/hidden/senselogic/sitevision/api/metadata/value/LinkValue/index.d.ts +23 -0
  105. package/hidden/senselogic/sitevision/api/metadata/value/RelatedValue/index.d.ts +23 -0
  106. package/hidden/senselogic/sitevision/api/property/VersionedPropertyUtil/index.d.ts +642 -0
  107. package/hidden/senselogic/sitevision/api/render/BuddyIconRenderer/BuddyIconInfo/index.d.ts +51 -0
  108. package/hidden/senselogic/sitevision/api/render/ImageScaler/index.d.ts +58 -0
  109. package/hidden/senselogic/sitevision/api/render/TextModuleRenderer/index.d.ts +301 -0
  110. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/ArticleUtilConstants/index.d.ts +85 -0
  111. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/ExceptionSuppressingProxyConstants/index.d.ts +31 -0
  112. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/IndexingUtilConstants/index.d.ts +31 -0
  113. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/LinkPageUtilConstants/index.d.ts +67 -0
  114. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/MathInstanceConstants/index.d.ts +25 -0
  115. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/MimeTypeUtilConstants/index.d.ts +19 -0
  116. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/NodeTypeUtilConstants/index.d.ts +1243 -0
  117. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/OutputUtilConstants/index.d.ts +31 -0
  118. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/PageUtilConstants/index.d.ts +91 -0
  119. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/PortletContextUtilConstants/index.d.ts +27 -0
  120. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/PortletUtilConstants/index.d.ts +19 -0
  121. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/QueryStringUtilConstants/index.d.ts +19 -0
  122. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/SearchHitConstants/index.d.ts +25 -0
  123. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/SearchResultConstants/index.d.ts +37 -0
  124. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/VersionUtilConstants/index.d.ts +25 -0
  125. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/index.d.ts +8 -0
  126. package/hidden/senselogic/sitevision/api/render/velocity/VelocityContext/index.d.ts +50 -0
  127. package/hidden/senselogic/sitevision/api/render/velocity/VelocityEvaluator/index.d.ts +89 -0
  128. package/hidden/senselogic/sitevision/api/script/RequesterChainable/index.d.ts +119 -0
  129. package/hidden/senselogic/sitevision/api/script/app/RestAppInvoker/index.d.ts +272 -0
  130. package/hidden/senselogic/sitevision/api/script/factory/TypedArgument/index.d.ts +43 -0
  131. package/hidden/senselogic/sitevision/api/script/proxy/ExceptionSuppressingCollection/index.d.ts +94 -0
  132. package/hidden/senselogic/sitevision/api/script/proxy/ExceptionSuppressingIterator/index.d.ts +117 -0
  133. package/hidden/senselogic/sitevision/api/script/proxy/ExceptionSuppressingProxy/index.d.ts +90 -0
  134. package/hidden/senselogic/sitevision/api/search/SearchFieldUtil/index.d.ts +89 -0
  135. package/hidden/senselogic/sitevision/api/search/SearchHighlighter/index.d.ts +45 -0
  136. package/hidden/senselogic/sitevision/api/search/SearchHit/index.d.ts +1176 -0
  137. package/hidden/senselogic/sitevision/api/search/SearchResult/index.d.ts +414 -0
  138. package/hidden/senselogic/sitevision/api/search/facet/SearchFacetField/index.d.ts +27 -0
  139. package/hidden/senselogic/sitevision/api/search/facet/SearchFacetValue/index.d.ts +61 -0
  140. package/hidden/senselogic/sitevision/api/search/searcher/Searcher/index.d.ts +277 -0
  141. package/hidden/senselogic/sitevision/api/search/searcher/component/Filter/index.d.ts +25 -0
  142. package/hidden/senselogic/sitevision/api/search/searcher/component/Highlight/index.d.ts +29 -0
  143. package/hidden/senselogic/sitevision/api/search/searcher/component/Monitor/index.d.ts +25 -0
  144. package/hidden/senselogic/sitevision/api/search/searcher/component/Parser/index.d.ts +35 -0
  145. package/hidden/senselogic/sitevision/api/search/searcher/component/Sort/index.d.ts +25 -0
  146. package/hidden/senselogic/sitevision/api/search/searcher/component/SpellCheck/index.d.ts +29 -0
  147. package/hidden/senselogic/sitevision/api/search/sort/CustomSort/index.d.ts +82 -0
  148. package/hidden/senselogic/sitevision/api/search/suggestion/SearchSuggestion/index.d.ts +21 -0
  149. package/hidden/senselogic/sitevision/api/security/DirectoryAttributes/index.d.ts +70 -0
  150. package/hidden/senselogic/sitevision/api/security/MessageDigester/index.d.ts +50 -0
  151. package/hidden/senselogic/sitevision/api/security/RoleAssignment/index.d.ts +72 -0
  152. package/hidden/senselogic/sitevision/api/security/RoleMatcher/index.d.ts +29 -0
  153. package/hidden/senselogic/sitevision/api/security/SecretStore/index.d.ts +55 -0
  154. package/hidden/senselogic/sitevision/api/security/UserUtil/index.d.ts +80 -0
  155. package/hidden/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilter/index.d.ts +36 -0
  156. package/hidden/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilterChain/index.d.ts +32 -0
  157. package/hidden/senselogic/sitevision/api/user/UserIdentityWrapper/index.d.ts +599 -0
  158. package/hidden/senselogic/sitevision/api/webresource/LinkTarget/index.d.ts +20 -0
  159. package/hidden/senselogic/sitevision/api/xml/XmlElement/index.d.ts +55 -0
  160. package/hidden/senselogic/sitevision/api/xml/XmlElementHandler/index.d.ts +17 -0
  161. package/package.json +2 -4
  162. package/server/AliasUtil/index.d.ts +25 -0
  163. package/server/AliasUtil/index.js +10 -0
  164. package/server/ArchiveUtil/index.d.ts +65 -11
  165. package/server/ArraysInstance/index.d.ts +1846 -0
  166. package/server/ArticleUtil/index.d.ts +381 -69
  167. package/server/AuthenticationUtil/index.d.ts +106 -0
  168. package/server/BookmarkUtil/index.d.ts +36 -28
  169. package/server/BuddyIconRenderer/index.d.ts +240 -0
  170. package/server/ClientUtil/index.d.ts +18 -4
  171. package/server/CollaborationFactory/index.d.ts +42 -25
  172. package/server/CollaborationGroupFolderUtil/index.d.ts +40 -29
  173. package/server/CollaborationGroupTemplateUtil/index.d.ts +71 -39
  174. package/server/CollaborationGroupUtil/index.d.ts +128 -55
  175. package/server/CollectionsInstance/index.d.ts +738 -0
  176. package/server/ColorUtil/index.d.ts +22 -17
  177. package/server/CompoundAndFilterBuilder/index.d.ts +60 -0
  178. package/server/CompoundComparatorBuilder/index.d.ts +63 -0
  179. package/server/CompoundOrFilterBuilder/index.d.ts +59 -0
  180. package/server/ContentNodeUtil/index.d.ts +76 -0
  181. package/server/CurrencyFactory/index.d.ts +135 -0
  182. package/server/DateUtil/index.d.ts +154 -77
  183. package/server/DecorationUtil/index.d.ts +23 -0
  184. package/server/DeviceUtil/index.d.ts +36 -0
  185. package/server/DirectoryUtil/index.d.ts +107 -47
  186. package/server/DocTypeUtil/index.d.ts +149 -0
  187. package/server/EndecUtil/index.d.ts +537 -91
  188. package/server/ExtendedDismaxParserBuilder/index.d.ts +311 -0
  189. package/server/FileIconRenderer/index.d.ts +346 -0
  190. package/server/FileUtil/index.d.ts +462 -0
  191. package/server/FilterBuilder/index.d.ts +120 -0
  192. package/server/FolderUtil/index.d.ts +161 -0
  193. package/server/FontUtil/index.d.ts +49 -0
  194. package/server/FormatterBuilderFactory/index.d.ts +129 -0
  195. package/server/HighlightBuilder/index.d.ts +194 -0
  196. package/server/IconUtil/index.d.ts +37 -0
  197. package/server/ImageLinkRenderer/index.d.ts +134 -0
  198. package/server/ImageRenderer/index.d.ts +613 -231
  199. package/server/ImageUtil/index.d.ts +430 -0
  200. package/server/IndexUtil/index.d.ts +71 -0
  201. package/server/IndexingUtil/index.d.ts +92 -0
  202. package/server/InstanceCreatorUtil/index.d.ts +661 -0
  203. package/server/InstanceTypeUtil/index.d.ts +202 -0
  204. package/server/JwtUtil/index.d.ts +217 -0
  205. package/server/LandingPageUtil/index.d.ts +67 -50
  206. package/server/LinkPageUtil/index.d.ts +468 -0
  207. package/server/LinkRenderer/index.d.ts +1157 -0
  208. package/server/LinkTargetBuilder/index.d.ts +146 -0
  209. package/server/LinkValueBuilder/index.d.ts +129 -52
  210. package/server/ListWrapper/index.d.ts +172 -0
  211. package/server/LocaleUtil/index.d.ts +695 -61
  212. package/server/LogUtil/index.d.ts +118 -77
  213. package/server/MailBuilder/index.d.ts +238 -0
  214. package/server/MailUtil/index.d.ts +98 -0
  215. package/server/MathInstance/index.d.ts +681 -0
  216. package/server/MessageDigesterFactory/index.d.ts +49 -0
  217. package/server/MetadataDefinitionUtil/index.d.ts +118 -0
  218. package/server/MetadataUtil/index.d.ts +524 -79
  219. package/server/MimeTypeUtil/index.d.ts +316 -0
  220. package/server/MonitorBuilder/index.d.ts +51 -0
  221. package/server/NodeComparatorUtil/index.d.ts +397 -0
  222. package/server/NodeFactoryUtil/index.d.ts +32 -0
  223. package/server/NodeFilterUtil/index.d.ts +924 -0
  224. package/server/NodeIteratorUtil/index.d.ts +322 -72
  225. package/server/NodeResolverUtil/index.d.ts +767 -0
  226. package/server/NodeTreeUtil/index.d.ts +339 -63
  227. package/server/NodeTypeUtil/index.d.ts +391 -197
  228. package/server/OfflineVersionPropertyUtil/index.d.ts +30 -0
  229. package/server/OnlineVersionPropertyUtil/index.d.ts +30 -0
  230. package/server/OutputUtil/index.d.ts +641 -0
  231. package/server/PageUtil/index.d.ts +330 -0
  232. package/server/PermissionUtil/index.d.ts +650 -0
  233. package/server/PortletContextUtil/index.d.ts +118 -37
  234. package/server/PortletContextUtil/index.js +1 -0
  235. package/server/PortletUtil/index.d.ts +40 -0
  236. package/server/PrincipalUtil/index.d.ts +51 -0
  237. package/server/Properties/index.d.ts +185 -38
  238. package/server/PropertyUtil/index.d.ts +2330 -406
  239. package/server/PublishingUtil/index.d.ts +385 -49
  240. package/server/QueryStringUtil/index.d.ts +737 -0
  241. package/server/RedirectUtil/index.d.ts +98 -0
  242. package/server/RelatedValueBuilder/index.d.ts +81 -39
  243. package/server/Requester/index.d.ts +441 -65
  244. package/server/ResourceLocatorUtil/index.d.ts +483 -227
  245. package/server/RestApi/index.d.ts +208 -23
  246. package/server/RestAppInvokerFactory/index.d.ts +73 -0
  247. package/server/RoleAssignmentBuilder/index.d.ts +60 -0
  248. package/server/RoleMatcherBuilder/index.d.ts +59 -0
  249. package/server/RoleUtil/index.d.ts +57 -0
  250. package/server/ScriptUtil/index.d.ts +625 -143
  251. package/server/SearchFactory/index.d.ts +133 -0
  252. package/server/SearchUtil/index.d.ts +164 -0
  253. package/server/SearcherBuilder/index.d.ts +260 -0
  254. package/server/Session/index.d.ts +1758 -0
  255. package/server/SimpleUserUtil/index.d.ts +39 -30
  256. package/server/SiteCookieUtil/index.d.ts +78 -53
  257. package/server/SortBuilder/index.d.ts +111 -0
  258. package/server/SpellCheckBuilder/index.d.ts +68 -0
  259. package/server/StandardParserBuilder/index.d.ts +112 -0
  260. package/server/StructureUtil/index.d.ts +167 -0
  261. package/server/SubscriberUtil/index.d.ts +122 -0
  262. package/server/SubscriptionUtil/index.d.ts +197 -0
  263. package/server/SystemUserUtil/index.d.ts +201 -98
  264. package/server/TagUtil/index.d.ts +193 -0
  265. package/server/TemplateUtil/index.d.ts +217 -0
  266. package/server/TemporaryFileNodeBuilder/index.d.ts +63 -0
  267. package/server/TemporaryNodeBuilder/index.d.ts +241 -0
  268. package/server/TextModuleRendererBuilder/index.d.ts +68 -0
  269. package/server/TimestampUtil/index.d.ts +98 -82
  270. package/server/TranslationUtil/index.d.ts +175 -0
  271. package/server/TrashcanUtil/index.d.ts +193 -24
  272. package/server/UserDataUtil/index.d.ts +167 -85
  273. package/server/UserFactory/index.d.ts +45 -30
  274. package/server/UserFieldRenderer/index.d.ts +258 -0
  275. package/server/UserIdentityUtil/index.d.ts +61 -29
  276. package/server/UserUtil/index.d.ts +69 -28
  277. package/server/Utils/index.d.ts +870 -12
  278. package/server/VelocityRenderer/index.d.ts +248 -0
  279. package/server/VersionUtil/index.d.ts +15 -12
  280. package/server/WebContentUtil/index.d.ts +644 -0
  281. package/server/WebResourceFactory/index.d.ts +66 -0
  282. package/server/XSLTUtil/index.d.ts +49 -10
  283. package/server/XmlParserUtil/index.d.ts +82 -81
  284. package/builtins/Binary/index.d.ts +0 -3
  285. package/builtins/Calendar/index.d.ts +0 -3
  286. package/builtins/Collection/index.d.ts +0 -3
  287. package/builtins/Date/index.d.ts +0 -3
  288. package/builtins/InputStream/index.d.ts +0 -3
  289. package/builtins/Instant/index.d.ts +0 -3
  290. package/builtins/List/index.d.ts +0 -3
  291. package/builtins/LocalDateTime/index.d.ts +0 -3
  292. package/builtins/Locale/index.d.ts +0 -3
  293. package/builtins/Node/index.d.ts +0 -3
  294. package/builtins/NodeIterator/index.d.ts +0 -27
  295. package/builtins/Property/index.d.ts +0 -3
  296. package/builtins/Serializable/index.d.ts +0 -3
  297. package/builtins/Set/index.d.ts +0 -3
  298. package/builtins/Throwable/index.d.ts +0 -3
  299. package/builtins/byte/index.d.ts +0 -3
@@ -0,0 +1,1082 @@
1
+ import Version from "../Version";
2
+ import VersionHistory from "../VersionHistory";
3
+ import NodeIterator from "../../NodeIterator";
4
+ import Node from "../../Node";
5
+
6
+ /**
7
+ * The <code>VersionManager</code> object is accessed via {@link
8
+ * javax.jcr.Workspace#getVersionManager()}. It provides methods for: <ul>
9
+ * <li>Version graph functionality (version history, base version, successors
10
+ * predecessors)</li> <li>Basic version operations (checkin, checkout,
11
+ * checkpoint)</li> <li>Restore feature</li> <li>Label feature</li> <li>Merge
12
+ * feature</li> <li>Configuration feature</li> <li>Activity feature</li> </ul>
13
+ *
14
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Creates for the versionable node at <code>absPath</code> a new version
15
+ * with a system generated version name and returns that version (which will
16
+ * be the new base version of this node). Sets the <code>jcr:checkedOut</code>
17
+ * property to false thus putting the node into the <i>checked-in</i> state.
18
+ * This means that the node and its <i>connected non-versionable
19
+ * subgraph</i> become read-only. A node's connected non-versionable
20
+ * subgraph is the set of non-versionable descendant nodes reachable from
21
+ * that node through child links without encountering any versionable nodes.
22
+ * In other words, the read-only status flows down from the checked-in node
23
+ * along every child link until either a versionable node is encountered or
24
+ * an item with no children is encountered. In a system that supports only
25
+ * simple versioning the connected non-versionable subgraph will be
26
+ * equivalent to the whole subgraph, since simple-versionable nodes cannot
27
+ * have simple-versionable descendants.
28
+ * <p>
29
+ * Read-only status means that an item cannot be altered by the client using
30
+ * standard API methods (<code>addNode</code>, <code>setProperty</code>,
31
+ * etc.). The only exceptions to this rule are the {@link #restore} (all
32
+ * signatures), {@link #restoreByLabel}, {@link #restore}, {@link #merge}
33
+ * and {@link Node#update} operations; these do not respect read-only status
34
+ * due to check-in. Note that <code>remove</code> of a read-only node is
35
+ * possible, as long as its parent is not read-only (since removal is an
36
+ * alteration of the parent node).
37
+ * <p>
38
+ * If the node is already checked-in, this method has no effect but returns
39
+ * the current base version of the node at <code>absPath</code>.
40
+ * <p>
41
+ * If a repository supports configurations and baselines and the node at
42
+ * <code>absPath</code> is a configuration proxy node in configuration storage
43
+ * then checkin of that node has the additional side effect of storing in the
44
+ * created version, the state of the configuration that this proxy node represents.
45
+ * In particular, the current bs version of each versionable node within the
46
+ * configuration is recorded in some implementation-specific way within the
47
+ * version created by the checkin. For checkin to succeed on a configuration
48
+ * proxy node, every versionable node within the configuration in question must
49
+ * have been checked-in at least once (i.e., each must have a current base version
50
+ * which is not the root version of its version history).
51
+ * <p>
52
+ * If <code>checkin</code> succeeds, the change to the
53
+ * <code>jcr:isCheckedOut</code> property is dispatched immediately;
54
+ * there is no need to call <code>save</code>.Sets the versionable node at <code>absPath</code> to checked-out status
55
+ * by setting its <code>jcr:isCheckedOut</code> property to
56
+ * <code>true</code>. Under full versioning it also sets the
57
+ * <code>jcr:predecessors</code> property to be a reference to the current
58
+ * base version (the same value as held in <code>jcr:baseVersion</code>).
59
+ * <p> This method puts the node into the <i>checked-out</i> state, making
60
+ * it and its connected non-versionable subgraph no longer read-only (see
61
+ * {@link #checkin(String)} for an explanation of the term "connected
62
+ * non-versionable subgraph". Under simple versioning this will simply be
63
+ * the whole subgraph). <p> If successful, these changes are dispatched
64
+ * immediately; there is no need to call <code>save</code>. <p> If the node
65
+ * at <code>absPath</code> is already checked-out, this method has no
66
+ * effect.Performs a <code>checkin()</code> followed by a <code>checkout()</code>
67
+ * on the versionable node at <code>absPath</code>.
68
+ * <p>
69
+ * If the node is already checked-in, this method is equivalent to
70
+ * <code>checkout()</code>.Returns <code>true</code> if the node at <code>absPath</code> is either
71
+ * <ul> <li>versionable (full or simple) and currently checked-out,</li>
72
+ * <li>non-versionable and its nearest versionable ancestor is checked-out
73
+ * or</li> <li>non-versionable and it has no versionable ancestor.</li>
74
+ * </ul>
75
+ * <p>
76
+ * Returns <code>false</code> if the node at <code>absPath</code> is either
77
+ * <ul> <li>versionable (full or simple) and currently checked-in or</li>
78
+ * <li>non-versionable and its nearest versionable ancestor is
79
+ * checked-in.</li> </ul>Returns the <code>VersionHistory</code> object of the node at
80
+ * <code>absPath</code>. This object provides access to the
81
+ * <code>nt:versionHistory</code> node holding the node's versions.Returns the current base version of the versionable node at
82
+ * <code>absPath</code>.Restores a set of versions at once. Used in cases where a "chicken and
83
+ * egg" problem of mutually referring <code>REFERENCE</code> properties
84
+ * would prevent the restore in any serial order.
85
+ * <p>
86
+ * If the restore succeeds the changes made are
87
+ * dispatched immediately; there is no need to call <code>save</code>.
88
+ * <p>
89
+ * The following restrictions apply to the set of versions specified:
90
+ * <p>
91
+ * If <code>S</code> is the set of versions being restored simultaneously,
92
+ * <ul> <li> For every version <code>V</code> in <code>S</code> that
93
+ * corresponds to a <i>missing</i> node, there must also be a parent of V in
94
+ * S.</li> <li><code>S</code> must contain at least one version that
95
+ * corresponds to an existing node in the workspace.</li> <li> No
96
+ * <code>V</code> in <code>S</code> can be a root version
97
+ * (<code>jcr:rootVersion</code>).</li> </ul>
98
+ * <p>
99
+ * If any of these restrictions does not hold, the restore will fail because
100
+ * the system will be unable to determine the path locations to which one or
101
+ * more versions are to be restored. In this case a <code>VersionException</code>
102
+ * is thrown.
103
+ * <p>
104
+ * The versionable nodes in the current workspace that correspond to the
105
+ * versions being restored define a set of (one or more) subgraphs. An
106
+ * identifier collision occurs when the current workspace contains a node
107
+ * <i>outside these subgraphs</i> that has the same identifier as one of the
108
+ * nodes that would be introduced by the <code>restore</code> operation
109
+ * <i>into one of these subgraphs</i>. The result in such a case is governed
110
+ * by the <code>removeExisting</code> flag. If <code>removeExisting</code>
111
+ * is <code>true</code> then the incoming node takes precedence, and the
112
+ * existing node (and its subgraph) is removed. If <code>removeExisting</code>
113
+ * is <code>false</code> then a <code>ItemExistsException</code> is thrown
114
+ * and no changes are made. Note that this applies not only to cases where
115
+ * the restored node itself conflicts with an existing node but also to
116
+ * cases where a conflict occurs with any node that would be introduced into
117
+ * the workspace by the restore operation. In particular, conflicts
118
+ * involving subnodes of the restored node that have
119
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
120
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
121
+ * flag.Restores the node at <code>absPath</code> to the state defined by the
122
+ * version with the specified <code>versionName</code>.
123
+ * <p>
124
+ * If the node at <code>absPath</code> is not versionable, an
125
+ * <code>UnsupportedRepositoryOperationException</code> is thrown.
126
+ * <p>
127
+ * If successful, the change is dispatched immediately; there is no need
128
+ * to call <code>save</code>. This method will work regardless of whether
129
+ * the node at <code>absPath</code> is checked-in or not.
130
+ * <p>
131
+ * An identifier collision occurs when a node exists <i>outside the subgraph
132
+ * rooted at this node</i> with the same identifier as a node that would be
133
+ * introduced by the <code>restore</code> operation <i>into the subgraph at
134
+ * this node</i>. The result in such a case is governed by the
135
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
136
+ * <code>true</code>, then the incoming node takes precedence, and the
137
+ * existing node (and its subgraph) is removed (if possible; otherwise a
138
+ * <code>RepositoryException</code> is thrown). If <code>removeExisting</code>
139
+ * is <code>false</code>, then a <code>ItemExistsException</code> is thrown
140
+ * and no changes are made. Note that this applies not only to cases where
141
+ * the restored node itself conflicts with an existing node but also to
142
+ * cases where a conflict occurs with any node that would be introduced into
143
+ * the workspace by the restore operation. In particular, conflicts
144
+ * involving subnodes of the restored node that have
145
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
146
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
147
+ * flag.Restores the node in the current workspace that is the versionable node of the
148
+ * specified <code>version</code> to the state reflected in that version.
149
+ * <p>
150
+ * If successful, the change is dispatched immediately; there is no need to call <code>save</code>.
151
+ * This method ignores checked-in status.
152
+ * <p>
153
+ * An identifier collision occurs when a node exists <i>outside the subgraph
154
+ * rooted at this node</i> with the same identifier as a node that would be
155
+ * introduced by the <code>restore</code> operation <i>into the subgraph at
156
+ * this node</i>. The result in such a case is governed by the
157
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
158
+ * <code>true</code>, then the incoming node takes precedence, and the
159
+ * existing node (and its subgraph) is removed (if possible; otherwise a
160
+ * <code>RepositoryException</code> is thrown). If <code>removeExisting</code>
161
+ * is <code>false</code>, then a <code>ItemExistsException</code> is thrown
162
+ * and no changes are made. Note that this applies not only to cases where
163
+ * the restored node itself conflicts with an existing node but also to
164
+ * cases where a conflict occurs with any node that would be introduced into
165
+ * the workspace by the restore operation. In particular, conflicts
166
+ * involving subnodes of the restored node that have
167
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
168
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
169
+ * flag.Restores the specified version to <code>absPath</code>.
170
+ * <p>
171
+ * There must be no existing node at <code>absPath</code>. If one exists,
172
+ * a <code>VersionException</code> is thrown.
173
+ * <p>
174
+ * There must be a parent node to the location at
175
+ * <code>absPath</code>, otherwise a <code>PathNotFoundException</code>
176
+ * is thrown.
177
+ * <p>
178
+ * An identifier collision occurs when a node exists <i>outside the subgraph
179
+ * rooted at <code>absPath</code></i> with the same identifier as a node
180
+ * that would be introduced by the <code>restore</code> operation <i>into
181
+ * the subgraph at <code>absPath</code></i>. The result in such a case is
182
+ * governed by the <code>removeExisting</code> flag. If
183
+ * <code>removeExisting</code> is <code>true</code>, then the incoming node
184
+ * takes precedence, and the existing node (and its subgraph) is removed (if
185
+ * possible; otherwise a <code>RepositoryException</code> is thrown). If
186
+ * <code>removeExisting</code> is <code>false</code>, then a
187
+ * <code>ItemExistsException</code> is thrown and no changes are made. Note
188
+ * that this applies not only to cases where the restored node itself
189
+ * conflicts with an existing node but also to cases where a conflict occurs
190
+ * with any node that would be introduced into the workspace by the restore
191
+ * operation. In particular, conflicts involving subnodes of the restored
192
+ * node that have <code>OnParentVersion</code> settings of <code>COPY</code>
193
+ * or <code>VERSION</code> are also governed by the <code>removeExisting</code>
194
+ * flag.
195
+ * <p>
196
+ * If the would-be parent of the location <code>absPath</code> is actually a
197
+ * property, or if a node type restriction would be violated, then a
198
+ * <code>ConstraintViolationException</code> is thrown.
199
+ * <p>
200
+ * If the <code>restore</code> succeeds, the changes made to this node are
201
+ * dispatched immediately; there is no need to call <code>save</code>.Restores the version of the node at <code>absPath</code> with the
202
+ * specified version label. If successful, the change is dispatched
203
+ * immediately; there is no need to call <code>save</code>.
204
+ * <p>
205
+ * This method will work regardless of whether the node at
206
+ * <code>absPath</code> is checked-in or not.
207
+ * <p>
208
+ * An identifier collision occurs when a node exists <i>outside the subgraph
209
+ * rooted at this node</i> with the same identifier as a node that would be
210
+ * introduced by the <code>restoreByLabel</code> operation <i>into the
211
+ * subgraph at this node</i>. The result in such a case is governed by the
212
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
213
+ * <code>true</code>, then the incoming node takes precedence, and the
214
+ * existing node (and its subgraph) is removed (if possible; otherwise a
215
+ * <code>RepositoryException</code> is thrown). If <code>removeExisting</code>
216
+ * is <code>false</code>, then a <code>ItemExistsException</code> is thrown
217
+ * and no changes are made. Note that this applies not only to cases where
218
+ * the restored node itself conflicts with an existing node but also to
219
+ * cases where a conflict occurs with any node that would be introduced into
220
+ * the workspace by the restore operation. In particular, conflicts
221
+ * involving subnodes of the restored node that have
222
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
223
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
224
+ * flag.This method recursively tests each versionable node in the subgraph of
225
+ * the node at <code>absPath</code> against its corresponding node in
226
+ * <code>srcWorkspace</code> with respect to the relation between their
227
+ * respective base versions and either updates the node in question or not,
228
+ * depending on the outcome of the test.
229
+ * <p>
230
+ * When a versionable node V with base version B is encountered whose
231
+ * corresponding node V' has a base version B': <ul> <li>If B' is an
232
+ * eventual predecessor of B then V is left unchanged.</li> <li>If B' is an
233
+ * eventual successor of B then V is updated to the state of V'.</li> <li>If
234
+ * B' and B are ob divergent branches of the version history then V
235
+ * <i>fails</i> the merge.</li> </ul> If <code>bestEffort</code> is
236
+ * <code>true</code> then each failed node is marked and traversal
237
+ * continues. If <code>bestEffort</code> is <code>false</code> then the
238
+ * first failed node results in a <code>MergeException</code>.
239
+ * <p>
240
+ * This is a workspace-write method and therefore any changes are dispatched
241
+ * immediately; there is no need to call <code>save</code>.
242
+ * <p>
243
+ * This method returns a <code>NodeIterator</code> over all versionable
244
+ * nodes in the subgraph that received a merge result of <i>fail</i>. If
245
+ * <code>bestEffort</code> is <code>false</code>, this iterator will be
246
+ * empty (since if <code>merge</code> returns successfully, instead of
247
+ * throwing an exception, it will be because no failures were encountered).
248
+ * If <code>bestEffort</code> is <code>true</code>, this iterator will
249
+ * contain all nodes that received a <i>fail</i> during the course of this
250
+ * <code>merge</code> operation.
251
+ * <p>
252
+ * See the JCR specifications for more details on the behavior of this
253
+ * method.Same as {@link #merge(String absPath, String srcWorkspace, boolean
254
+ * bestEffort)} except that an option exists to make the merge
255
+ * <i>shallow</i>.
256
+ * <p>
257
+ * If <code>isShallow</code> is <code>true</code>, this method tests this
258
+ * versionable node against its corresponding node in
259
+ * <code>srcWorkspace</code> with respect to the relation between their
260
+ * respective base versions and either updates the node in question or not,
261
+ * depending on the outcome of the test.
262
+ * <p>
263
+ * If <code>isShallow</code> is <code>false</code>, it recursively tests
264
+ * each versionable node in the subgraph as mentioned above. See {@link
265
+ * #merge(String absPath, String srcWorkspace, boolean bestEffort)}.
266
+ * <p>
267
+ * If <code>isShallow</code> is <code>true</code> and this node is not
268
+ * versionable, then this method returns and no changes are made.
269
+ * <p>
270
+ * If successful, the changes are dispatched immediately; there is no need to
271
+ * call <code>save</code>.
272
+ * <p>
273
+ * This method returns a <code>NodeIterator</code> over all versionable
274
+ * nodes in the subgraph that received a merge result of <i>fail</i>. If
275
+ * <code>bestEffort</code> is <code>false</code>, this iterator will be
276
+ * empty (since if <code>merge</code> returns successfully, instead of
277
+ * throwing an exception, it will be because no failures were encountered).
278
+ * If <code>bestEffort</code> is <code>true</code>, this iterator will
279
+ * contain all nodes that received a <i>fail</i> during the course of this
280
+ * <code>merge</code> operation.Completes the merge process with respect to the node at
281
+ * <code>absPath</code> and the specified <code>version</code>.
282
+ * <p>
283
+ * When the {@link #merge} method is called on a node, every versionable
284
+ * node in that subgraph is compared with its corresponding node in the
285
+ * indicated other workspace and a "merge test result" is determined
286
+ * indicating one of the following:
287
+ * </p>
288
+ * <ol> <li> This node will be updated to the state of its correspondee (if
289
+ * the base version of the correspondee is more recent in terms of version
290
+ * history) </li> <li> This node will be left alone (if this node's base
291
+ * version is more recent in terms of version history). </li> <li> This node
292
+ * will be marked as having failed the merge test (if this node's base
293
+ * version is on a different branch of the version history from the base
294
+ * version of its corresponding node in the other workspace, thus preventing
295
+ * an automatic determination of which is more recent). </li> </ol>
296
+ * <p>
297
+ * (See {@link #merge} for more details)
298
+ * </p>
299
+ * <p>
300
+ * In the last case the merge of the non-versionable subgraph (the
301
+ * "content") of this node must be done by the application (for example, by
302
+ * providing a merge tool for the user).
303
+ * </p>
304
+ * <p>
305
+ * Additionally, once the content of the nodes has been merged, their
306
+ * version graph branches must also be merged. The JCR versioning system
307
+ * provides for this by keeping a record, for each versionable node that
308
+ * fails the merge test, of the base version of the corresponding node that
309
+ * caused the merge failure. This record is kept in the
310
+ * <code>jcr:mergeFailed</code> property of this node. After a
311
+ * <code>merge</code>, this property will contain one or more (if multiple
312
+ * merges have been performed) <code>REFERENCE</code>s that point to the
313
+ * "offending versions".
314
+ * </p>
315
+ * <p>
316
+ * To complete the merge process, the client calls <code>doneMerge(Version
317
+ * v)</code> passing the version object referred to be the
318
+ * <code>jcr:mergeFailed</code> property that the client wishes to connect
319
+ * to <code>this</code> node in the version graph. This has the effect of
320
+ * moving the reference to the indicated version from the
321
+ * <code>jcr:mergeFailed</code> property of <code>this</code> node to the
322
+ * <code>jcr:predecessors</code>.
323
+ * </p>
324
+ * <p>
325
+ * If the client chooses not to connect this node to a particular version
326
+ * referenced in the <code>jcr:mergeFailed</code> property, he calls {@link
327
+ * #cancelMerge(String, Version)}. This has the effect of removing the
328
+ * reference to the specified <code>version</code> from
329
+ * <code>jcr:mergeFailed</code> <i>without</i> adding it to
330
+ * <code>jcr:predecessors</code>.
331
+ * </p>
332
+ * <p>
333
+ * Once the last reference in <code>jcr:mergeFailed</code> has been either
334
+ * moved to <code>jcr:predecessors</code> (with <code>doneMerge</code>) or
335
+ * just removed from <code>jcr:mergeFailed</code> (with
336
+ * <code>cancelMerge</code>) the <code>jcr:mergeFailed</code> property is
337
+ * automatically removed, thus enabling <code>this</code> node to be
338
+ * checked-in, creating a new version (note that before the
339
+ * <code>jcr:mergeFailed</code> is removed, its <code>OnParentVersion</code>
340
+ * setting of <code>ABORT</code> prevents checkin). This new version will
341
+ * have a predecessor connection to each version for which
342
+ * <code>doneMerge</code> was called, thus joining those branches of the
343
+ * version graph.
344
+ * </p>
345
+ * <p>
346
+ * If successful, these changes are dispatched immediately; there is no need
347
+ * to call <code>save</code>.
348
+ * </p>Cancels the merge process with respect to the node at
349
+ * <code>absPath</code> and the specified <code>version</code>.
350
+ * <p>
351
+ * See {@link #doneMerge} for a full explanation. Also see {@link #merge}
352
+ * for more details.
353
+ * <p>
354
+ * If successful, these changes are dispatched immediately; there is no need
355
+ * to call <code>save</code>.Calling <code>createConfiguration</code> on the node <i>N</i> at
356
+ * <code>absPath</code> creates, in the configuration storage, a new
357
+ * <code>nt:configuration</code> node whose root is <i>N</i>. A reference to
358
+ * <i>N</i> is recorded in the <code>jcr:root</code> property of the new
359
+ * configuration, and a reference to the new configuration is recorded in
360
+ * the <code>jcr:configuration</code> property of <i>N</i>.
361
+ * <p>
362
+ * A new version history is created to store baselines of the new configuration,
363
+ * and the <code>jcr:baseVersion</code> of the new configuration references
364
+ * the root version of the new version history.
365
+ * <p>
366
+ * The changes are dispatched immediately; a <code>save</code> is not
367
+ * required.This method is called by the client to set the current activity on the
368
+ * current session by specifying a previously created <code>nt:activity</code>
369
+ * node (see {@link #createActivity}). Changing the
370
+ * current activity is done by calling <code>setActivity</code> again.
371
+ * Cancelling the current activity (so that the session has no current
372
+ * activity) is done by calling <code>setActivity(null)</code>. The previously
373
+ * set <code>nt:activity</code> node is returned, or <code>null</code> if no activity
374
+ * was previously set.Returns the node representing the current activity or <code>null</code>
375
+ * if there is no current activity.This method creates a new <code>nt:activity</code> at an
376
+ * implementation-determined location in the <code>/jcr:system/jcr:activities</code>
377
+ * subgraph.
378
+ * <p>
379
+ * The repository may, but is not required to, use the <code>title</code> as
380
+ * a hint for what to name the new activity node. The new activity
381
+ * <code>Node</code> is returned.
382
+ * <p>
383
+ * The new node addition is dispatched immediately and does not require a
384
+ * <code>save</code>.
385
+ * <p>This method removes the given <code>activityNode</code> and all <code>REFERENCE</code> properties
386
+ * within all workspaces that refer to the <code>activityNode</code>.
387
+ * However, the existence of a <code>REFERENCE</code> to the <code>activityNode</code>
388
+ * from within version storage will cause a <code>VersionException</code> to be thrown.
389
+ * <p>
390
+ * The change is dispatched immediately and does not require a <code>save</code>.This method merges the changes that were made under the specified
391
+ * activity into the current workspace.
392
+ * <p>
393
+ * An activity <i>A</i> will be associated with a set of versions through
394
+ * the <code>jcr:activity</code> reference of each version node in the set.
395
+ * We call each such associated version a <i>member of A</i>.
396
+ * <p>
397
+ * For each version history <i>H</i> that contains one or more members of
398
+ * <i>A</i>, one such member will be the latest member of <i>A</i> in
399
+ * <i>H</i>. The latest member of <i>A</i> in <i>H</i> is the version in
400
+ * <i>H</i> that is a member of <i>A</i> and that has no successor versions
401
+ * (to any degree) that are also members of <i>A</i>.
402
+ * <p>
403
+ * The set of versions that are the latest members of <i>A</i> in their
404
+ * respective version histories is called the change set of <i>A</i>. It
405
+ * fully describes the changes made under the activity <i>A</i>.
406
+ * <p>
407
+ * This method performs a shallow merge into the current workspace of each
408
+ * version in the change set of the activity specified by
409
+ * <code>activityNode</code>. If there is no corresponding node in this
410
+ * workspace for a given member of the change set, that member is ignored.
411
+ * <p>
412
+ * This method returns a <code>NodeIterator</code> over all versionable
413
+ * nodes in the subgraph that received a merge result of <i>fail</i>.
414
+ * <p>
415
+ * The changes are dispatched immediately and do not require a <code>save</code>.
416
+ * @since Sitevision 3.5
417
+ * @since JCR 2.0
418
+ */
419
+ interface VersionManager {
420
+ /**
421
+ * Creates for the versionable node at <code>absPath</code> a new version
422
+ * with a system generated version name and returns that version (which will
423
+ * be the new base version of this node). Sets the <code>jcr:checkedOut</code>
424
+ * property to false thus putting the node into the <i>checked-in</i> state.
425
+ * This means that the node and its <i>connected non-versionable
426
+ * subgraph</i> become read-only. A node's connected non-versionable
427
+ * subgraph is the set of non-versionable descendant nodes reachable from
428
+ * that node through child links without encountering any versionable nodes.
429
+ * In other words, the read-only status flows down from the checked-in node
430
+ * along every child link until either a versionable node is encountered or
431
+ * an item with no children is encountered. In a system that supports only
432
+ * simple versioning the connected non-versionable subgraph will be
433
+ * equivalent to the whole subgraph, since simple-versionable nodes cannot
434
+ * have simple-versionable descendants.
435
+ * <p>
436
+ * Read-only status means that an item cannot be altered by the client using
437
+ * standard API methods (<code>addNode</code>, <code>setProperty</code>,
438
+ * etc.). The only exceptions to this rule are the {@link #restore} (all
439
+ * signatures), {@link #restoreByLabel}, {@link #restore}, {@link #merge}
440
+ * and {@link Node#update} operations; these do not respect read-only status
441
+ * due to check-in. Note that <code>remove</code> of a read-only node is
442
+ * possible, as long as its parent is not read-only (since removal is an
443
+ * alteration of the parent node).
444
+ * <p>
445
+ * If the node is already checked-in, this method has no effect but returns
446
+ * the current base version of the node at <code>absPath</code>.
447
+ * <p>
448
+ * If a repository supports configurations and baselines and the node at
449
+ * <code>absPath</code> is a configuration proxy node in configuration storage
450
+ * then checkin of that node has the additional side effect of storing in the
451
+ * created version, the state of the configuration that this proxy node represents.
452
+ * In particular, the current bs version of each versionable node within the
453
+ * configuration is recorded in some implementation-specific way within the
454
+ * version created by the checkin. For checkin to succeed on a configuration
455
+ * proxy node, every versionable node within the configuration in question must
456
+ * have been checked-in at least once (i.e., each must have a current base version
457
+ * which is not the root version of its version history).
458
+ * <p>
459
+ * If <code>checkin</code> succeeds, the change to the
460
+ * <code>jcr:isCheckedOut</code> property is dispatched immediately;
461
+ * there is no need to call <code>save</code>.
462
+ * @param absPath an absolute path.
463
+ * @return the created version.
464
+ * @throws VersionException if <code>jcr:predecessors</code> does not contain at least one value or if a child item of the node at <code>absPath</code> has an <code>OnParentVersion</code> status of <code>ABORT</code>. This includes the case where an unresolved merge failure exists on the node, as indicated by the presence of a <code>jcr:mergeFailed</code> property.
465
+ * @throws UnsupportedRepositoryOperationException If the node at <code>absPath</code> node is not versionable.
466
+ * @throws InvalidItemStateException If unsaved changes exist on the node at <code>absPath</code> or the node at <code>absPath</code> is a configuration proxy node and the configuration it represents includes a versionabe node that has never been checked-in.
467
+ * @throws LockException if a lock prevents the operation.
468
+ * @throws RepositoryException If another error occurs.
469
+ */
470
+ checkin(absPath: string): Version;
471
+
472
+ /**
473
+ * Sets the versionable node at <code>absPath</code> to checked-out status
474
+ * by setting its <code>jcr:isCheckedOut</code> property to
475
+ * <code>true</code>. Under full versioning it also sets the
476
+ * <code>jcr:predecessors</code> property to be a reference to the current
477
+ * base version (the same value as held in <code>jcr:baseVersion</code>).
478
+ * <p> This method puts the node into the <i>checked-out</i> state, making
479
+ * it and its connected non-versionable subgraph no longer read-only (see
480
+ * {@link #checkin(String)} for an explanation of the term "connected
481
+ * non-versionable subgraph". Under simple versioning this will simply be
482
+ * the whole subgraph). <p> If successful, these changes are dispatched
483
+ * immediately; there is no need to call <code>save</code>. <p> If the node
484
+ * at <code>absPath</code> is already checked-out, this method has no
485
+ * effect.
486
+ * @param absPath an absolute path.
487
+ * @throws UnsupportedRepositoryOperationException If the node at <code>absPath</code> is not versionable.
488
+ * @throws LockException if a lock prevents the checkout.
489
+ * @throws RepositoryException If another error occurs.
490
+ */
491
+ checkout(absPath: string): void;
492
+
493
+ /**
494
+ * Performs a <code>checkin()</code> followed by a <code>checkout()</code>
495
+ * on the versionable node at <code>absPath</code>.
496
+ * <p>
497
+ * If the node is already checked-in, this method is equivalent to
498
+ * <code>checkout()</code>.
499
+ * @param absPath an absolute path.
500
+ * @return the created version.
501
+ * @throws VersionException if a child item of the node at <code>absPath</code> has an <code>OnParentVersion</code> of <code>ABORT</code>. This includes the case where an unresolved merge failure exists on the node, as indicated by the presence of the <code>jcr:mergeFailed</code>.
502
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
503
+ * @throws InvalidItemStateException if there are unsaved changes pending on the node at <code>absPath</code>.
504
+ * @throws LockException if a lock prevents the operation.
505
+ * @throws RepositoryException if another error occurs.
506
+ * @since JCR 2.0
507
+ */
508
+ checkpoint(absPath: string): Version;
509
+
510
+ /**
511
+ * Returns <code>true</code> if the node at <code>absPath</code> is either
512
+ * <ul> <li>versionable (full or simple) and currently checked-out,</li>
513
+ * <li>non-versionable and its nearest versionable ancestor is checked-out
514
+ * or</li> <li>non-versionable and it has no versionable ancestor.</li>
515
+ * </ul>
516
+ * <p>
517
+ * Returns <code>false</code> if the node at <code>absPath</code> is either
518
+ * <ul> <li>versionable (full or simple) and currently checked-in or</li>
519
+ * <li>non-versionable and its nearest versionable ancestor is
520
+ * checked-in.</li> </ul>
521
+ * @param absPath an absolute path.
522
+ * @return a boolean
523
+ * @throws RepositoryException If another error occurs.
524
+ */
525
+ isCheckedOut(absPath: string): boolean;
526
+
527
+ /**
528
+ * Returns the <code>VersionHistory</code> object of the node at
529
+ * <code>absPath</code>. This object provides access to the
530
+ * <code>nt:versionHistory</code> node holding the node's versions.
531
+ * @param absPath an absolute path.
532
+ * @return a <code>VersionHistory</code> object
533
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
534
+ * @throws RepositoryException If another error occurs.
535
+ */
536
+ getVersionHistory(absPath: string): VersionHistory;
537
+
538
+ /**
539
+ * Returns the current base version of the versionable node at
540
+ * <code>absPath</code>.
541
+ * @param absPath an absolute path.
542
+ * @return a <code>Version</code> object.
543
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
544
+ * @throws RepositoryException If another error occurs.
545
+ */
546
+ getBaseVersion(absPath: string): Version;
547
+
548
+ /**
549
+ * Restores a set of versions at once. Used in cases where a "chicken and
550
+ * egg" problem of mutually referring <code>REFERENCE</code> properties
551
+ * would prevent the restore in any serial order.
552
+ * <p>
553
+ * If the restore succeeds the changes made are
554
+ * dispatched immediately; there is no need to call <code>save</code>.
555
+ * <p>
556
+ * The following restrictions apply to the set of versions specified:
557
+ * <p>
558
+ * If <code>S</code> is the set of versions being restored simultaneously,
559
+ * <ul> <li> For every version <code>V</code> in <code>S</code> that
560
+ * corresponds to a <i>missing</i> node, there must also be a parent of V in
561
+ * S.</li> <li><code>S</code> must contain at least one version that
562
+ * corresponds to an existing node in the workspace.</li> <li> No
563
+ * <code>V</code> in <code>S</code> can be a root version
564
+ * (<code>jcr:rootVersion</code>).</li> </ul>
565
+ * <p>
566
+ * If any of these restrictions does not hold, the restore will fail because
567
+ * the system will be unable to determine the path locations to which one or
568
+ * more versions are to be restored. In this case a <code>VersionException</code>
569
+ * is thrown.
570
+ * <p>
571
+ * The versionable nodes in the current workspace that correspond to the
572
+ * versions being restored define a set of (one or more) subgraphs. An
573
+ * identifier collision occurs when the current workspace contains a node
574
+ * <i>outside these subgraphs</i> that has the same identifier as one of the
575
+ * nodes that would be introduced by the <code>restore</code> operation
576
+ * <i>into one of these subgraphs</i>. The result in such a case is governed
577
+ * by the <code>removeExisting</code> flag. If <code>removeExisting</code>
578
+ * is <code>true</code> then the incoming node takes precedence, and the
579
+ * existing node (and its subgraph) is removed. If <code>removeExisting</code>
580
+ * is <code>false</code> then a <code>ItemExistsException</code> is thrown
581
+ * and no changes are made. Note that this applies not only to cases where
582
+ * the restored node itself conflicts with an existing node but also to
583
+ * cases where a conflict occurs with any node that would be introduced into
584
+ * the workspace by the restore operation. In particular, conflicts
585
+ * involving subnodes of the restored node that have
586
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
587
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
588
+ * flag.
589
+ * @param versions The set of versions to be restored.
590
+ * @param removeExisting governs what happens on identifier collision.
591
+ * @throws ItemExistsException if <code>removeExisting</code> is <code>false</code> and an identifier collision occurs with a node being restored.
592
+ * @throws UnsupportedRepositoryOperationException if one or more of the nodes to be restored is not versionable.
593
+ * @throws VersionException if the set of versions to be restored is such that the original path location of one or more of the versions cannot be determined or if the <code>restore</code> would change the state of a existing versionable node that is currently checked-in or if a root version (<code>jcr:rootVersion</code>) is among those being restored.
594
+ * @throws LockException if a lock prevents the restore.
595
+ * @throws InvalidItemStateException if this <code>Session</code> has pending unsaved changes.
596
+ * @throws RepositoryException if another error occurs.
597
+ */
598
+ restore(versions: Version, removeExisting: boolean): void;
599
+
600
+ /**
601
+ * Restores the node at <code>absPath</code> to the state defined by the
602
+ * version with the specified <code>versionName</code>.
603
+ * <p>
604
+ * If the node at <code>absPath</code> is not versionable, an
605
+ * <code>UnsupportedRepositoryOperationException</code> is thrown.
606
+ * <p>
607
+ * If successful, the change is dispatched immediately; there is no need
608
+ * to call <code>save</code>. This method will work regardless of whether
609
+ * the node at <code>absPath</code> is checked-in or not.
610
+ * <p>
611
+ * An identifier collision occurs when a node exists <i>outside the subgraph
612
+ * rooted at this node</i> with the same identifier as a node that would be
613
+ * introduced by the <code>restore</code> operation <i>into the subgraph at
614
+ * this node</i>. The result in such a case is governed by the
615
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
616
+ * <code>true</code>, then the incoming node takes precedence, and the
617
+ * existing node (and its subgraph) is removed (if possible; otherwise a
618
+ * <code>RepositoryException</code> is thrown). If <code>removeExisting</code>
619
+ * is <code>false</code>, then a <code>ItemExistsException</code> is thrown
620
+ * and no changes are made. Note that this applies not only to cases where
621
+ * the restored node itself conflicts with an existing node but also to
622
+ * cases where a conflict occurs with any node that would be introduced into
623
+ * the workspace by the restore operation. In particular, conflicts
624
+ * involving subnodes of the restored node that have
625
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
626
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
627
+ * flag.
628
+ * @param absPath an absolute path.
629
+ * @param versionName a <code>Version</code> object
630
+ * @param removeExisting a boolean flag that governs what happens in case of an identifier collision.
631
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
632
+ * @throws VersionException if the specified <code>version</code> is not part of this node's version history or if an attempt is made to restore the root version (<code>jcr:rootVersion</code>) or if no node exists at <code>absPath</code>.
633
+ * @throws ItemExistsException if <code>removeExisting</code> is <code>false</code> and an identifier collision occurs.
634
+ * @throws LockException if a lock prevents the restore.
635
+ * @throws InvalidItemStateException if this <code>Session</code> (not necessarily the <code>Node</code> at <code>absPath</code>) has pending unsaved changes.
636
+ * @throws RepositoryException If another error occurs.
637
+ */
638
+ restore(absPath: string, versionName: string, removeExisting: boolean): void;
639
+
640
+ /**
641
+ * Restores the node in the current workspace that is the versionable node of the
642
+ * specified <code>version</code> to the state reflected in that version.
643
+ * <p>
644
+ * If successful, the change is dispatched immediately; there is no need to call <code>save</code>.
645
+ * This method ignores checked-in status.
646
+ * <p>
647
+ * An identifier collision occurs when a node exists <i>outside the subgraph
648
+ * rooted at this node</i> with the same identifier as a node that would be
649
+ * introduced by the <code>restore</code> operation <i>into the subgraph at
650
+ * this node</i>. The result in such a case is governed by the
651
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
652
+ * <code>true</code>, then the incoming node takes precedence, and the
653
+ * existing node (and its subgraph) is removed (if possible; otherwise a
654
+ * <code>RepositoryException</code> is thrown). If <code>removeExisting</code>
655
+ * is <code>false</code>, then a <code>ItemExistsException</code> is thrown
656
+ * and no changes are made. Note that this applies not only to cases where
657
+ * the restored node itself conflicts with an existing node but also to
658
+ * cases where a conflict occurs with any node that would be introduced into
659
+ * the workspace by the restore operation. In particular, conflicts
660
+ * involving subnodes of the restored node that have
661
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
662
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
663
+ * flag.
664
+ * @param version a <code>Version</code> object
665
+ * @param removeExisting a boolean flag that governs what happens in case of an identifier collision.
666
+ * @throws UnsupportedRepositoryOperationException if versioning is not supported.
667
+ * @throws VersionException if the specified <code>version</code> does not have a corresponding node in the workspace <code>this</code> VersionManager has been created for or if an attempt is made to restore the root version (<code>jcr:rootVersion</code>).
668
+ * @throws ItemExistsException if <code>removeExisting</code> is <code>false</code> and an identifier collision occurs.
669
+ * @throws InvalidItemStateException if this <code>Session</code> (not necessarily the <code>Node</code> at <code>absPath</code>) has pending unsaved changes.
670
+ * @throws LockException if a lock prevents the restore.
671
+ * @throws RepositoryException if another error occurs.
672
+ */
673
+ restore(version: Version, removeExisting: boolean): void;
674
+
675
+ /**
676
+ * Restores the specified version to <code>absPath</code>.
677
+ * <p>
678
+ * There must be no existing node at <code>absPath</code>. If one exists,
679
+ * a <code>VersionException</code> is thrown.
680
+ * <p>
681
+ * There must be a parent node to the location at
682
+ * <code>absPath</code>, otherwise a <code>PathNotFoundException</code>
683
+ * is thrown.
684
+ * <p>
685
+ * An identifier collision occurs when a node exists <i>outside the subgraph
686
+ * rooted at <code>absPath</code></i> with the same identifier as a node
687
+ * that would be introduced by the <code>restore</code> operation <i>into
688
+ * the subgraph at <code>absPath</code></i>. The result in such a case is
689
+ * governed by the <code>removeExisting</code> flag. If
690
+ * <code>removeExisting</code> is <code>true</code>, then the incoming node
691
+ * takes precedence, and the existing node (and its subgraph) is removed (if
692
+ * possible; otherwise a <code>RepositoryException</code> is thrown). If
693
+ * <code>removeExisting</code> is <code>false</code>, then a
694
+ * <code>ItemExistsException</code> is thrown and no changes are made. Note
695
+ * that this applies not only to cases where the restored node itself
696
+ * conflicts with an existing node but also to cases where a conflict occurs
697
+ * with any node that would be introduced into the workspace by the restore
698
+ * operation. In particular, conflicts involving subnodes of the restored
699
+ * node that have <code>OnParentVersion</code> settings of <code>COPY</code>
700
+ * or <code>VERSION</code> are also governed by the <code>removeExisting</code>
701
+ * flag.
702
+ * <p>
703
+ * If the would-be parent of the location <code>absPath</code> is actually a
704
+ * property, or if a node type restriction would be violated, then a
705
+ * <code>ConstraintViolationException</code> is thrown.
706
+ * <p>
707
+ * If the <code>restore</code> succeeds, the changes made to this node are
708
+ * dispatched immediately; there is no need to call <code>save</code>.
709
+ * @param absPath an absolute the path to which the version is to be restored.
710
+ * @param version a version object
711
+ * @param removeExisting covers what happens on identifier collision.
712
+ * @throws PathNotFoundException if the parent of <code>absPath</code> does not exist.
713
+ * @throws ItemExistsException if removeExisting is false and an identifier collision occurs
714
+ * @throws ConstraintViolationException If the would-be parent of the location <code>absPath</code> is actually a property, or if a node type restriction would be violated
715
+ * @throws VersionException if the parent node of <code>absPath</code> is read-only due to a checked-in node or if a node exists at <code>absPath</code> or if an attempt is made to restore the root version.
716
+ * @throws UnsupportedRepositoryOperationException if versioning is not supported.
717
+ * @throws LockException if a lock prevents the restore.
718
+ * @throws InvalidItemStateException if this <code>Session</code> (not necessarily the <code>Node</code> at <code>absPath</code>) has pending unsaved changes.
719
+ * @throws RepositoryException if another error occurs
720
+ */
721
+ restore(absPath: string, version: Version, removeExisting: boolean): void;
722
+
723
+ /**
724
+ * Restores the version of the node at <code>absPath</code> with the
725
+ * specified version label. If successful, the change is dispatched
726
+ * immediately; there is no need to call <code>save</code>.
727
+ * <p>
728
+ * This method will work regardless of whether the node at
729
+ * <code>absPath</code> is checked-in or not.
730
+ * <p>
731
+ * An identifier collision occurs when a node exists <i>outside the subgraph
732
+ * rooted at this node</i> with the same identifier as a node that would be
733
+ * introduced by the <code>restoreByLabel</code> operation <i>into the
734
+ * subgraph at this node</i>. The result in such a case is governed by the
735
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
736
+ * <code>true</code>, then the incoming node takes precedence, and the
737
+ * existing node (and its subgraph) is removed (if possible; otherwise a
738
+ * <code>RepositoryException</code> is thrown). If <code>removeExisting</code>
739
+ * is <code>false</code>, then a <code>ItemExistsException</code> is thrown
740
+ * and no changes are made. Note that this applies not only to cases where
741
+ * the restored node itself conflicts with an existing node but also to
742
+ * cases where a conflict occurs with any node that would be introduced into
743
+ * the workspace by the restore operation. In particular, conflicts
744
+ * involving subnodes of the restored node that have
745
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
746
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
747
+ * flag.
748
+ * @param absPath an absolute path.
749
+ * @param versionLabel a String
750
+ * @param removeExisting a boolean flag that governs what happens in case of an identifier collision.
751
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
752
+ * @throws VersionException if the specified <code>versionLabel</code> does not exist in this node's version history or if no node exists at <code>absPath</code>.
753
+ * @throws ItemExistsException if <code>removeExisting</code> is <code>false</code> and an identifier collision occurs.
754
+ * @throws LockException if a lock prevents the restore.
755
+ * @throws InvalidItemStateException if this <code>Session</code> (not necessarily the <code>Node</code> at <code>absPath</code>) has pending unsaved changes.
756
+ * @throws RepositoryException If another error occurs.
757
+ */
758
+ restoreByLabel(
759
+ absPath: string,
760
+ versionLabel: string,
761
+ removeExisting: boolean
762
+ ): void;
763
+
764
+ /**
765
+ * This method recursively tests each versionable node in the subgraph of
766
+ * the node at <code>absPath</code> against its corresponding node in
767
+ * <code>srcWorkspace</code> with respect to the relation between their
768
+ * respective base versions and either updates the node in question or not,
769
+ * depending on the outcome of the test.
770
+ * <p>
771
+ * When a versionable node V with base version B is encountered whose
772
+ * corresponding node V' has a base version B': <ul> <li>If B' is an
773
+ * eventual predecessor of B then V is left unchanged.</li> <li>If B' is an
774
+ * eventual successor of B then V is updated to the state of V'.</li> <li>If
775
+ * B' and B are ob divergent branches of the version history then V
776
+ * <i>fails</i> the merge.</li> </ul> If <code>bestEffort</code> is
777
+ * <code>true</code> then each failed node is marked and traversal
778
+ * continues. If <code>bestEffort</code> is <code>false</code> then the
779
+ * first failed node results in a <code>MergeException</code>.
780
+ * <p>
781
+ * This is a workspace-write method and therefore any changes are dispatched
782
+ * immediately; there is no need to call <code>save</code>.
783
+ * <p>
784
+ * This method returns a <code>NodeIterator</code> over all versionable
785
+ * nodes in the subgraph that received a merge result of <i>fail</i>. If
786
+ * <code>bestEffort</code> is <code>false</code>, this iterator will be
787
+ * empty (since if <code>merge</code> returns successfully, instead of
788
+ * throwing an exception, it will be because no failures were encountered).
789
+ * If <code>bestEffort</code> is <code>true</code>, this iterator will
790
+ * contain all nodes that received a <i>fail</i> during the course of this
791
+ * <code>merge</code> operation.
792
+ * <p>
793
+ * See the JCR specifications for more details on the behavior of this
794
+ * method.
795
+ * @param absPath an absolute path.
796
+ * @param srcWorkspace the name of the source workspace.
797
+ * @param bestEffort a boolean
798
+ * @return iterator over all nodes that received a merge result of "fail" in the course of this operation.
799
+ * @throws MergeException if <code>bestEffort</code> is <code>false</code> and a failed merge result is encountered.
800
+ * @throws InvalidItemStateException if this session (not necessarily the node at <code>absPath</code>) has pending unsaved changes.
801
+ * @throws NoSuchWorkspaceException if the specified <code>srcWorkspace</code> does not exist.
802
+ * @throws AccessDeniedException if the current session does not have sufficient rights to perform the operation.
803
+ * @throws LockException if a lock prevents the merge.
804
+ * @throws RepositoryException if another error occurs.
805
+ */
806
+ merge(
807
+ absPath: string,
808
+ srcWorkspace: string,
809
+ bestEffort: boolean
810
+ ): NodeIterator;
811
+
812
+ /**
813
+ * Same as {@link #merge(String absPath, String srcWorkspace, boolean
814
+ * bestEffort)} except that an option exists to make the merge
815
+ * <i>shallow</i>.
816
+ * <p>
817
+ * If <code>isShallow</code> is <code>true</code>, this method tests this
818
+ * versionable node against its corresponding node in
819
+ * <code>srcWorkspace</code> with respect to the relation between their
820
+ * respective base versions and either updates the node in question or not,
821
+ * depending on the outcome of the test.
822
+ * <p>
823
+ * If <code>isShallow</code> is <code>false</code>, it recursively tests
824
+ * each versionable node in the subgraph as mentioned above. See {@link
825
+ * #merge(String absPath, String srcWorkspace, boolean bestEffort)}.
826
+ * <p>
827
+ * If <code>isShallow</code> is <code>true</code> and this node is not
828
+ * versionable, then this method returns and no changes are made.
829
+ * <p>
830
+ * If successful, the changes are dispatched immediately; there is no need to
831
+ * call <code>save</code>.
832
+ * <p>
833
+ * This method returns a <code>NodeIterator</code> over all versionable
834
+ * nodes in the subgraph that received a merge result of <i>fail</i>. If
835
+ * <code>bestEffort</code> is <code>false</code>, this iterator will be
836
+ * empty (since if <code>merge</code> returns successfully, instead of
837
+ * throwing an exception, it will be because no failures were encountered).
838
+ * If <code>bestEffort</code> is <code>true</code>, this iterator will
839
+ * contain all nodes that received a <i>fail</i> during the course of this
840
+ * <code>merge</code> operation.
841
+ * @param absPath an absolute path.
842
+ * @param srcWorkspace the name of the source workspace.
843
+ * @param bestEffort a boolean
844
+ * @param isShallow a boolean
845
+ * @return iterator over all nodes that received a merge result of "fail" in the course of this operation.
846
+ * @throws MergeException if <code>bestEffort</code> is <code>false</code> and a failed merge result is encountered.
847
+ * @throws InvalidItemStateException if this session (not necessarily this node) has pending unsaved changes.
848
+ * @throws NoSuchWorkspaceException if <code>srcWorkspace</code> does not exist.
849
+ * @throws AccessDeniedException if the current session does not have sufficient rights to perform the operation.
850
+ * @throws LockException if a lock prevents the merge.
851
+ * @throws RepositoryException if another error occurs.
852
+ * @since JCR 2.0
853
+ */
854
+ merge(
855
+ absPath: string,
856
+ srcWorkspace: string,
857
+ bestEffort: boolean,
858
+ isShallow: boolean
859
+ ): NodeIterator;
860
+
861
+ /**
862
+ * Completes the merge process with respect to the node at
863
+ * <code>absPath</code> and the specified <code>version</code>.
864
+ * <p>
865
+ * When the {@link #merge} method is called on a node, every versionable
866
+ * node in that subgraph is compared with its corresponding node in the
867
+ * indicated other workspace and a "merge test result" is determined
868
+ * indicating one of the following:
869
+ * </p>
870
+ * <ol> <li> This node will be updated to the state of its correspondee (if
871
+ * the base version of the correspondee is more recent in terms of version
872
+ * history) </li> <li> This node will be left alone (if this node's base
873
+ * version is more recent in terms of version history). </li> <li> This node
874
+ * will be marked as having failed the merge test (if this node's base
875
+ * version is on a different branch of the version history from the base
876
+ * version of its corresponding node in the other workspace, thus preventing
877
+ * an automatic determination of which is more recent). </li> </ol>
878
+ * <p>
879
+ * (See {@link #merge} for more details)
880
+ * </p>
881
+ * <p>
882
+ * In the last case the merge of the non-versionable subgraph (the
883
+ * "content") of this node must be done by the application (for example, by
884
+ * providing a merge tool for the user).
885
+ * </p>
886
+ * <p>
887
+ * Additionally, once the content of the nodes has been merged, their
888
+ * version graph branches must also be merged. The JCR versioning system
889
+ * provides for this by keeping a record, for each versionable node that
890
+ * fails the merge test, of the base version of the corresponding node that
891
+ * caused the merge failure. This record is kept in the
892
+ * <code>jcr:mergeFailed</code> property of this node. After a
893
+ * <code>merge</code>, this property will contain one or more (if multiple
894
+ * merges have been performed) <code>REFERENCE</code>s that point to the
895
+ * "offending versions".
896
+ * </p>
897
+ * <p>
898
+ * To complete the merge process, the client calls <code>doneMerge(Version
899
+ * v)</code> passing the version object referred to be the
900
+ * <code>jcr:mergeFailed</code> property that the client wishes to connect
901
+ * to <code>this</code> node in the version graph. This has the effect of
902
+ * moving the reference to the indicated version from the
903
+ * <code>jcr:mergeFailed</code> property of <code>this</code> node to the
904
+ * <code>jcr:predecessors</code>.
905
+ * </p>
906
+ * <p>
907
+ * If the client chooses not to connect this node to a particular version
908
+ * referenced in the <code>jcr:mergeFailed</code> property, he calls {@link
909
+ * #cancelMerge(String, Version)}. This has the effect of removing the
910
+ * reference to the specified <code>version</code> from
911
+ * <code>jcr:mergeFailed</code> <i>without</i> adding it to
912
+ * <code>jcr:predecessors</code>.
913
+ * </p>
914
+ * <p>
915
+ * Once the last reference in <code>jcr:mergeFailed</code> has been either
916
+ * moved to <code>jcr:predecessors</code> (with <code>doneMerge</code>) or
917
+ * just removed from <code>jcr:mergeFailed</code> (with
918
+ * <code>cancelMerge</code>) the <code>jcr:mergeFailed</code> property is
919
+ * automatically removed, thus enabling <code>this</code> node to be
920
+ * checked-in, creating a new version (note that before the
921
+ * <code>jcr:mergeFailed</code> is removed, its <code>OnParentVersion</code>
922
+ * setting of <code>ABORT</code> prevents checkin). This new version will
923
+ * have a predecessor connection to each version for which
924
+ * <code>doneMerge</code> was called, thus joining those branches of the
925
+ * version graph.
926
+ * </p>
927
+ * <p>
928
+ * If successful, these changes are dispatched immediately; there is no need
929
+ * to call <code>save</code>.
930
+ * </p>
931
+ * @param absPath an absolute path.
932
+ * @param version a version referred to by the <code>jcr:mergeFailed</code> property of the node at <code>absPath</code>.
933
+ * @throws VersionException if the version specified is not among those referenced in this node's <code>jcr:mergeFailed</code> or if the node is currently checked-in.
934
+ * @throws InvalidItemStateException if there are unsaved changes pending on the node at <code>absPath</code>.
935
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
936
+ * @throws RepositoryException if another error occurs.
937
+ */
938
+ doneMerge(absPath: string, version: Version): void;
939
+
940
+ /**
941
+ * Cancels the merge process with respect to the node at
942
+ * <code>absPath</code> and the specified <code>version</code>.
943
+ * <p>
944
+ * See {@link #doneMerge} for a full explanation. Also see {@link #merge}
945
+ * for more details.
946
+ * <p>
947
+ * If successful, these changes are dispatched immediately; there is no need
948
+ * to call <code>save</code>.
949
+ * @param absPath an absolute path.
950
+ * @param version a version referred to by the <code>jcr:mergeFailed</code> property of the node at <code>absPath</code>.
951
+ * @throws VersionException if the version specified is not among those referenced in the <code>jcr:mergeFailed</code> property of the node at <code>absPath</code> or if the node is currently checked-in.
952
+ * @throws InvalidItemStateException if there are unsaved changes pending on the node at <code>absPath</code>.
953
+ * @throws UnsupportedRepositoryOperationException if the node at <code>absPath</code> is not versionable.
954
+ * @throws RepositoryException if another error occurs.
955
+ */
956
+ cancelMerge(absPath: string, version: Version): void;
957
+
958
+ /**
959
+ * Calling <code>createConfiguration</code> on the node <i>N</i> at
960
+ * <code>absPath</code> creates, in the configuration storage, a new
961
+ * <code>nt:configuration</code> node whose root is <i>N</i>. A reference to
962
+ * <i>N</i> is recorded in the <code>jcr:root</code> property of the new
963
+ * configuration, and a reference to the new configuration is recorded in
964
+ * the <code>jcr:configuration</code> property of <i>N</i>.
965
+ * <p>
966
+ * A new version history is created to store baselines of the new configuration,
967
+ * and the <code>jcr:baseVersion</code> of the new configuration references
968
+ * the root version of the new version history.
969
+ * <p>
970
+ * The changes are dispatched immediately; a <code>save</code> is not
971
+ * required.
972
+ * @param absPath an absolute path.
973
+ * @return a new <code>nt:configuration</code> node
974
+ * @throws UnsupportedRepositoryOperationException if <i>N</i> is not versionable.
975
+ * @throws RepositoryException if no node exists at <code>absPath</code> or another error occurs .
976
+ * @since JCR 2.0
977
+ */
978
+ createConfiguration(absPath: string): Node;
979
+
980
+ /**
981
+ * This method is called by the client to set the current activity on the
982
+ * current session by specifying a previously created <code>nt:activity</code>
983
+ * node (see {@link #createActivity}). Changing the
984
+ * current activity is done by calling <code>setActivity</code> again.
985
+ * Cancelling the current activity (so that the session has no current
986
+ * activity) is done by calling <code>setActivity(null)</code>. The previously
987
+ * set <code>nt:activity</code> node is returned, or <code>null</code> if no activity
988
+ * was previously set.
989
+ * @param activity an activity node
990
+ * @return The previously set <code>nt:activity</code> node is returned, or <code>null</code> if no activity was previously set.
991
+ * @throws UnsupportedRepositoryOperationException if the repository does not support activities or if <code>activity</code> is not a <code>nt:activity</code> node.
992
+ * @throws RepositoryException if another error occurs.
993
+ * @since JCR 2.0
994
+ */
995
+ setActivity(activity: Node): Node;
996
+
997
+ /**
998
+ * Returns the node representing the current activity or <code>null</code>
999
+ * if there is no current activity.
1000
+ * @return An <code>nt:activity</code> node or <code>null</code>.
1001
+ * @throws UnsupportedRepositoryOperationException if the repository does not support activities.
1002
+ * @throws RepositoryException if another error occurs.
1003
+ * @since JCR 2.0
1004
+ */
1005
+ getActivity(): Node;
1006
+
1007
+ /**
1008
+ * This method creates a new <code>nt:activity</code> at an
1009
+ * implementation-determined location in the <code>/jcr:system/jcr:activities</code>
1010
+ * subgraph.
1011
+ * <p>
1012
+ * The repository may, but is not required to, use the <code>title</code> as
1013
+ * a hint for what to name the new activity node. The new activity
1014
+ * <code>Node</code> is returned.
1015
+ * <p>
1016
+ * The new node addition is dispatched immediately and does not require a
1017
+ * <code>save</code>.
1018
+ * <p>
1019
+ * @param title a String
1020
+ * @return the new activity <code>Node</code>.
1021
+ * @throws UnsupportedRepositoryOperationException if the repository does not support activities.
1022
+ * @throws RepositoryException if another error occurs.
1023
+ * @since JCR 2.0
1024
+ */
1025
+ createActivity(title: string): Node;
1026
+
1027
+ /**
1028
+ * This method removes the given <code>activityNode</code> and all <code>REFERENCE</code> properties
1029
+ * within all workspaces that refer to the <code>activityNode</code>.
1030
+ * However, the existence of a <code>REFERENCE</code> to the <code>activityNode</code>
1031
+ * from within version storage will cause a <code>VersionException</code> to be thrown.
1032
+ * <p>
1033
+ * The change is dispatched immediately and does not require a <code>save</code>.
1034
+ * @param activityNode an activity Node.
1035
+ * @throws UnsupportedRepositoryOperationException if the repository does not support activities.
1036
+ * @throws VersionException if a <code>REFERENCE</code> to the <code>activityNode</code> exists in version storage.
1037
+ * @throws RepositoryException if another error occurs.
1038
+ * @since JCR 2.0
1039
+ */
1040
+ removeActivity(activityNode: Node): void;
1041
+
1042
+ /**
1043
+ * This method merges the changes that were made under the specified
1044
+ * activity into the current workspace.
1045
+ * <p>
1046
+ * An activity <i>A</i> will be associated with a set of versions through
1047
+ * the <code>jcr:activity</code> reference of each version node in the set.
1048
+ * We call each such associated version a <i>member of A</i>.
1049
+ * <p>
1050
+ * For each version history <i>H</i> that contains one or more members of
1051
+ * <i>A</i>, one such member will be the latest member of <i>A</i> in
1052
+ * <i>H</i>. The latest member of <i>A</i> in <i>H</i> is the version in
1053
+ * <i>H</i> that is a member of <i>A</i> and that has no successor versions
1054
+ * (to any degree) that are also members of <i>A</i>.
1055
+ * <p>
1056
+ * The set of versions that are the latest members of <i>A</i> in their
1057
+ * respective version histories is called the change set of <i>A</i>. It
1058
+ * fully describes the changes made under the activity <i>A</i>.
1059
+ * <p>
1060
+ * This method performs a shallow merge into the current workspace of each
1061
+ * version in the change set of the activity specified by
1062
+ * <code>activityNode</code>. If there is no corresponding node in this
1063
+ * workspace for a given member of the change set, that member is ignored.
1064
+ * <p>
1065
+ * This method returns a <code>NodeIterator</code> over all versionable
1066
+ * nodes in the subgraph that received a merge result of <i>fail</i>.
1067
+ * <p>
1068
+ * The changes are dispatched immediately and do not require a <code>save</code>.
1069
+ * @param activityNode an <code>nt:activity</code> node
1070
+ * @return a <code>NodeIterator</code>
1071
+ * @throws AccessDeniedException if the current session does not have sufficient rights to perform the operation.
1072
+ * @throws VersionException if the specified node is not an <code>nt:activity</code> node.
1073
+ * @throws MergeException in the same cases as in a regular shallow merge (see {@link #merge(String, String, boolean, boolean)}.
1074
+ * @throws LockException if a lock prevents the merge.
1075
+ * @throws InvalidItemStateException if this <code>Session</code> has pending unsaved changes.
1076
+ * @throws RepositoryException if another error occurs.
1077
+ * @since JCR 2.0
1078
+ */
1079
+ merge(activityNode: Node): NodeIterator;
1080
+ }
1081
+
1082
+ export default VersionManager;