@sitevision/api 1.0.20 → 1.1.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/hidden/javax/jcr/Binary/index.d.ts +86 -0
  2. package/hidden/javax/jcr/Credentials/index.d.ts +11 -0
  3. package/hidden/javax/jcr/ImportUUIDBehavior/index.d.ts +11 -0
  4. package/hidden/javax/jcr/Item/index.d.ts +353 -0
  5. package/hidden/javax/jcr/ItemVisitor/index.d.ts +41 -0
  6. package/hidden/javax/jcr/NamespaceRegistry/index.d.ts +100 -0
  7. package/hidden/javax/jcr/Node/index.d.ts +2808 -0
  8. package/hidden/javax/jcr/NodeIterator/index.d.ts +18 -0
  9. package/hidden/javax/jcr/Property/index.d.ts +801 -0
  10. package/hidden/javax/jcr/PropertyIterator/index.d.ts +17 -0
  11. package/hidden/javax/jcr/RangeIterator/index.d.ts +75 -0
  12. package/hidden/javax/jcr/Repository/index.d.ts +318 -0
  13. package/hidden/javax/jcr/RepositoryFactory/index.d.ts +90 -0
  14. package/hidden/javax/jcr/Value/index.d.ts +190 -0
  15. package/hidden/javax/jcr/ValueFactory/index.d.ts +179 -0
  16. package/hidden/javax/jcr/Workspace/index.d.ts +1061 -0
  17. package/hidden/javax/jcr/lock/Lock/index.d.ts +142 -0
  18. package/hidden/javax/jcr/lock/LockManager/index.d.ts +217 -0
  19. package/hidden/javax/jcr/nodetype/ItemDefinition/index.d.ts +219 -0
  20. package/hidden/javax/jcr/nodetype/NodeDefinition/index.d.ts +158 -0
  21. package/hidden/javax/jcr/nodetype/NodeDefinitionTemplate/index.d.ts +74 -0
  22. package/hidden/javax/jcr/nodetype/NodeType/index.d.ts +349 -0
  23. package/hidden/javax/jcr/nodetype/NodeTypeDefinition/index.d.ts +248 -0
  24. package/hidden/javax/jcr/nodetype/NodeTypeIterator/index.d.ts +16 -0
  25. package/hidden/javax/jcr/nodetype/NodeTypeManager/index.d.ts +218 -0
  26. package/hidden/javax/jcr/nodetype/NodeTypeTemplate/index.d.ts +98 -0
  27. package/hidden/javax/jcr/nodetype/PropertyDefinition/index.d.ts +536 -0
  28. package/hidden/javax/jcr/nodetype/PropertyDefinitionTemplate/index.d.ts +97 -0
  29. package/hidden/javax/jcr/observation/Event/index.d.ts +133 -0
  30. package/hidden/javax/jcr/observation/EventIterator/index.d.ts +20 -0
  31. package/hidden/javax/jcr/observation/EventJournal/index.d.ts +22 -0
  32. package/hidden/javax/jcr/observation/EventListener/index.d.ts +23 -0
  33. package/hidden/javax/jcr/observation/EventListenerIterator/index.d.ts +20 -0
  34. package/hidden/javax/jcr/observation/ObservationManager/index.d.ts +227 -0
  35. package/hidden/javax/jcr/query/Query/index.d.ts +201 -0
  36. package/hidden/javax/jcr/query/QueryManager/index.d.ts +73 -0
  37. package/hidden/javax/jcr/query/QueryResult/index.d.ts +51 -0
  38. package/hidden/javax/jcr/query/Row/index.d.ts +159 -0
  39. package/hidden/javax/jcr/query/RowIterator/index.d.ts +20 -0
  40. package/hidden/javax/jcr/query/qom/And/index.d.ts +26 -0
  41. package/hidden/javax/jcr/query/qom/BindVariableValue/index.d.ts +15 -0
  42. package/hidden/javax/jcr/query/qom/ChildNode/index.d.ts +27 -0
  43. package/hidden/javax/jcr/query/qom/ChildNodeJoinCondition/index.d.ts +27 -0
  44. package/hidden/javax/jcr/query/qom/Column/index.d.ts +39 -0
  45. package/hidden/javax/jcr/query/qom/Comparison/index.d.ts +82 -0
  46. package/hidden/javax/jcr/query/qom/Constraint/index.d.ts +13 -0
  47. package/hidden/javax/jcr/query/qom/DescendantNode/index.d.ts +31 -0
  48. package/hidden/javax/jcr/query/qom/DescendantNodeJoinCondition/index.d.ts +29 -0
  49. package/hidden/javax/jcr/query/qom/DynamicOperand/index.d.ts +9 -0
  50. package/hidden/javax/jcr/query/qom/EquiJoinCondition/index.d.ts +41 -0
  51. package/hidden/javax/jcr/query/qom/FullTextSearch/index.d.ts +89 -0
  52. package/hidden/javax/jcr/query/qom/FullTextSearchScore/index.d.ts +24 -0
  53. package/hidden/javax/jcr/query/qom/Join/index.d.ts +36 -0
  54. package/hidden/javax/jcr/query/qom/JoinCondition/index.d.ts +9 -0
  55. package/hidden/javax/jcr/query/qom/Length/index.d.ts +24 -0
  56. package/hidden/javax/jcr/query/qom/Literal/index.d.ts +18 -0
  57. package/hidden/javax/jcr/query/qom/LowerCase/index.d.ts +26 -0
  58. package/hidden/javax/jcr/query/qom/NodeLocalName/index.d.ts +16 -0
  59. package/hidden/javax/jcr/query/qom/NodeName/index.d.ts +16 -0
  60. package/hidden/javax/jcr/query/qom/Not/index.d.ts +20 -0
  61. package/hidden/javax/jcr/query/qom/Operand/index.d.ts +9 -0
  62. package/hidden/javax/jcr/query/qom/Or/index.d.ts +30 -0
  63. package/hidden/javax/jcr/query/qom/Ordering/index.d.ts +53 -0
  64. package/hidden/javax/jcr/query/qom/PropertyExistence/index.d.ts +24 -0
  65. package/hidden/javax/jcr/query/qom/PropertyValue/index.d.ts +25 -0
  66. package/hidden/javax/jcr/query/qom/QueryObjectModel/index.d.ts +64 -0
  67. package/hidden/javax/jcr/query/qom/QueryObjectModelConstants/index.d.ts +9 -0
  68. package/hidden/javax/jcr/query/qom/QueryObjectModelFactory/index.d.ts +638 -0
  69. package/hidden/javax/jcr/query/qom/SameNode/index.d.ts +27 -0
  70. package/hidden/javax/jcr/query/qom/SameNodeJoinCondition/index.d.ts +36 -0
  71. package/hidden/javax/jcr/query/qom/Selector/index.d.ts +35 -0
  72. package/hidden/javax/jcr/query/qom/Source/index.d.ts +9 -0
  73. package/hidden/javax/jcr/query/qom/StaticOperand/index.d.ts +10 -0
  74. package/hidden/javax/jcr/query/qom/UpperCase/index.d.ts +26 -0
  75. package/hidden/javax/jcr/retention/Hold/index.d.ts +34 -0
  76. package/hidden/javax/jcr/retention/RetentionManager/index.d.ts +189 -0
  77. package/hidden/javax/jcr/retention/RetentionPolicy/index.d.ts +21 -0
  78. package/hidden/javax/jcr/security/AccessControlEntry/index.d.ts +24 -0
  79. package/hidden/javax/jcr/security/AccessControlList/index.d.ts +91 -0
  80. package/hidden/javax/jcr/security/AccessControlManager/index.d.ts +297 -0
  81. package/hidden/javax/jcr/security/AccessControlPolicy/index.d.ts +11 -0
  82. package/hidden/javax/jcr/security/AccessControlPolicyIterator/index.d.ts +20 -0
  83. package/hidden/javax/jcr/security/NamedAccessControlPolicy/index.d.ts +22 -0
  84. package/hidden/javax/jcr/security/Privilege/index.d.ts +117 -0
  85. package/hidden/javax/jcr/version/Version/index.d.ts +121 -0
  86. package/hidden/javax/jcr/version/VersionHistory/index.d.ts +307 -0
  87. package/hidden/javax/jcr/version/VersionIterator/index.d.ts +20 -0
  88. package/hidden/javax/jcr/version/VersionManager/index.d.ts +1082 -0
  89. package/hidden/senselogic/sitevision/api/base/Builder/index.d.ts +102 -0
  90. package/hidden/senselogic/sitevision/api/base/Filter/index.d.ts +25 -0
  91. package/hidden/senselogic/sitevision/api/base/FilterSplit/index.d.ts +50 -0
  92. package/hidden/senselogic/sitevision/api/base/Loadable/index.d.ts +15 -0
  93. package/hidden/senselogic/sitevision/api/base/Resolver/index.d.ts +31 -0
  94. package/hidden/senselogic/sitevision/api/base/Wrapper/index.d.ts +24 -0
  95. package/hidden/senselogic/sitevision/api/collaboration/CollaborationGroupWrapper/index.d.ts +417 -0
  96. package/hidden/senselogic/sitevision/api/format/NumericFormatter/index.d.ts +80 -0
  97. package/hidden/senselogic/sitevision/api/format/NumericFormatterBuilder/index.d.ts +100 -0
  98. package/hidden/senselogic/sitevision/api/i18n/Currency/index.d.ts +120 -0
  99. package/hidden/senselogic/sitevision/api/link/CustomLinkProcessor/index.d.ts +45 -0
  100. package/hidden/senselogic/sitevision/api/link/CustomLinkRenderData/index.d.ts +65 -0
  101. package/hidden/senselogic/sitevision/api/mail/Mail/index.d.ts +32 -0
  102. package/hidden/senselogic/sitevision/api/message/MessageTextLinker/index.d.ts +15 -0
  103. package/hidden/senselogic/sitevision/api/metadata/value/LinkValue/index.d.ts +23 -0
  104. package/hidden/senselogic/sitevision/api/metadata/value/RelatedValue/index.d.ts +23 -0
  105. package/hidden/senselogic/sitevision/api/property/VersionedPropertyUtil/index.d.ts +642 -0
  106. package/hidden/senselogic/sitevision/api/render/BuddyIconRenderer/BuddyIconInfo/index.d.ts +51 -0
  107. package/hidden/senselogic/sitevision/api/render/ImageScaler/index.d.ts +58 -0
  108. package/hidden/senselogic/sitevision/api/render/TextModuleRenderer/index.d.ts +301 -0
  109. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/ArticleUtilConstants/index.d.ts +85 -0
  110. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/ExceptionSuppressingProxyConstants/index.d.ts +31 -0
  111. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/IndexingUtilConstants/index.d.ts +31 -0
  112. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/LinkPageUtilConstants/index.d.ts +67 -0
  113. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/MathInstanceConstants/index.d.ts +25 -0
  114. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/MimeTypeUtilConstants/index.d.ts +19 -0
  115. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/NodeTypeUtilConstants/index.d.ts +1243 -0
  116. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/OutputUtilConstants/index.d.ts +31 -0
  117. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/PageUtilConstants/index.d.ts +91 -0
  118. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/PortletContextUtilConstants/index.d.ts +27 -0
  119. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/PortletUtilConstants/index.d.ts +19 -0
  120. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/QueryStringUtilConstants/index.d.ts +19 -0
  121. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/SearchHitConstants/index.d.ts +25 -0
  122. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/SearchResultConstants/index.d.ts +37 -0
  123. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/VersionUtilConstants/index.d.ts +25 -0
  124. package/hidden/senselogic/sitevision/api/render/velocity/VelocityAccess/index.d.ts +8 -0
  125. package/hidden/senselogic/sitevision/api/render/velocity/VelocityContext/index.d.ts +50 -0
  126. package/hidden/senselogic/sitevision/api/render/velocity/VelocityEvaluator/index.d.ts +89 -0
  127. package/hidden/senselogic/sitevision/api/script/RequesterChainable/index.d.ts +119 -0
  128. package/hidden/senselogic/sitevision/api/script/app/RestAppInvoker/index.d.ts +272 -0
  129. package/hidden/senselogic/sitevision/api/script/factory/TypedArgument/index.d.ts +43 -0
  130. package/hidden/senselogic/sitevision/api/script/proxy/ExceptionSuppressingCollection/index.d.ts +94 -0
  131. package/hidden/senselogic/sitevision/api/script/proxy/ExceptionSuppressingIterator/index.d.ts +117 -0
  132. package/hidden/senselogic/sitevision/api/script/proxy/ExceptionSuppressingProxy/index.d.ts +90 -0
  133. package/hidden/senselogic/sitevision/api/search/SearchFieldUtil/index.d.ts +89 -0
  134. package/hidden/senselogic/sitevision/api/search/SearchHighlighter/index.d.ts +45 -0
  135. package/hidden/senselogic/sitevision/api/search/SearchHit/index.d.ts +1176 -0
  136. package/hidden/senselogic/sitevision/api/search/SearchResult/index.d.ts +414 -0
  137. package/hidden/senselogic/sitevision/api/search/facet/SearchFacetField/index.d.ts +27 -0
  138. package/hidden/senselogic/sitevision/api/search/facet/SearchFacetValue/index.d.ts +61 -0
  139. package/hidden/senselogic/sitevision/api/search/searcher/Searcher/index.d.ts +277 -0
  140. package/hidden/senselogic/sitevision/api/search/searcher/component/Filter/index.d.ts +25 -0
  141. package/hidden/senselogic/sitevision/api/search/searcher/component/Highlight/index.d.ts +29 -0
  142. package/hidden/senselogic/sitevision/api/search/searcher/component/Monitor/index.d.ts +25 -0
  143. package/hidden/senselogic/sitevision/api/search/searcher/component/Parser/index.d.ts +35 -0
  144. package/hidden/senselogic/sitevision/api/search/searcher/component/Sort/index.d.ts +25 -0
  145. package/hidden/senselogic/sitevision/api/search/searcher/component/SpellCheck/index.d.ts +29 -0
  146. package/hidden/senselogic/sitevision/api/search/sort/CustomSort/index.d.ts +82 -0
  147. package/hidden/senselogic/sitevision/api/search/suggestion/SearchSuggestion/index.d.ts +21 -0
  148. package/hidden/senselogic/sitevision/api/security/DirectoryAttributes/index.d.ts +70 -0
  149. package/hidden/senselogic/sitevision/api/security/MessageDigester/index.d.ts +50 -0
  150. package/hidden/senselogic/sitevision/api/security/RoleAssignment/index.d.ts +72 -0
  151. package/hidden/senselogic/sitevision/api/security/RoleMatcher/index.d.ts +29 -0
  152. package/hidden/senselogic/sitevision/api/security/SecretStore/index.d.ts +55 -0
  153. package/hidden/senselogic/sitevision/api/security/UserUtil/index.d.ts +80 -0
  154. package/hidden/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilter/index.d.ts +36 -0
  155. package/hidden/senselogic/sitevision/api/security/jaas/filter/AuthenticationFilterChain/index.d.ts +32 -0
  156. package/hidden/senselogic/sitevision/api/user/UserIdentityWrapper/index.d.ts +599 -0
  157. package/hidden/senselogic/sitevision/api/webresource/LinkTarget/index.d.ts +20 -0
  158. package/hidden/senselogic/sitevision/api/xml/XmlElement/index.d.ts +55 -0
  159. package/hidden/senselogic/sitevision/api/xml/XmlElementHandler/index.d.ts +17 -0
  160. package/index.d.ts +103 -4
  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
  300. package/server/CollaborationGroupState/index.d.ts +0 -6
  301. package/server/CollaborationGroupState/index.js +0 -1
  302. package/server/CollaborationGroupType/index.d.ts +0 -7
  303. package/server/CollaborationGroupType/index.js +0 -1
  304. package/server/CollaborationGroupWrapper/index.d.ts +0 -136
  305. package/server/CollaborationGroupWrapper/index.js +0 -1
  306. package/server/DimensionMode/index.d.ts +0 -7
  307. package/server/DimensionMode/index.js +0 -1
@@ -0,0 +1,1061 @@
1
+ import Session from "../../../../server/Session";
2
+ import Version from "../version/Version";
3
+ import LockManager from "../lock/LockManager";
4
+ import QueryManager from "../query/QueryManager";
5
+ import NamespaceRegistry from "../NamespaceRegistry";
6
+ import NodeTypeManager from "../nodetype/NodeTypeManager";
7
+ import ObservationManager from "../observation/ObservationManager";
8
+ import VersionManager from "../version/VersionManager";
9
+
10
+ /**
11
+ * A <code>Workspace</code> object represents a view onto a persitent workspace
12
+ * within a repository. This view is defined by the authorization settings of
13
+ * the <code>Session</code> object associated with the <code>Workspace</code>
14
+ * object. Each <code>Workspace</code> object is associated one-to-one with a
15
+ * <code>Session</code> object. The <code>Workspace</code> object can be
16
+ * acquired by calling <code>{@link Session#getWorkspace()}</code> on the
17
+ * associated <code>Session</code> object.Returns the <code>Session</code> object through which this
18
+ * <code>Workspace</code> object was acquired.Returns the name of the actual persistent workspace represented by this
19
+ * <code>Workspace</code> object. This the name used in
20
+ * <code>Repository.login</code>.This method copies the subgraph rooted at, and including, the node at
21
+ * <code>srcAbsPath</code> to the new location at <code>destAbsPath</code>.
22
+ * <p>
23
+ * This is a workspace-write operation and therefore dispatches changes
24
+ * immediately and does not require a <code>save</code>.
25
+ * <p>
26
+ * When a node <code>N</code> is copied to a path location where no node
27
+ * currently exists, a new node <code>N'</code> is created at that location.
28
+ * The subgraph rooted at and including <code>N'</code> (call it <code>S'</code>)
29
+ * is created and is identical to the subgraph rooted at and including <code>N</code>
30
+ * (call it <code>S</code>) with the following exceptions:
31
+ * <ul>
32
+ * <li>Every node in <code>S'</code> is given a new and distinct identifier.</li>
33
+ * <li>The repository <i>may</i> automatically drop any mixin node type <code>T</code>
34
+ * present on any node <code>M</code> in <code>S</code>. Dropping a mixin node type
35
+ * in this context means that while <code>M</code> remains unchanged, its copy
36
+ * <code>M'</code> will lack the mixin <code>T</code> and any child nodes and properties
37
+ * defined by <code>T</code> that are present on <code>M</code>. For example, a node
38
+ * <code>M</code> that is <code>mix:versionable</code> may be copied such that the
39
+ * resulting node <code>M'</code> will be a copy of <code>N</code> except that
40
+ * <code>M'</code> will not be <code>mix:versionable</code> and will not have any of the
41
+ * properties defined by <code>mix:versionable</code>. In order for a mixin node type to
42
+ * be dropped it must be listed by name in the <code>jcr:mixinTypes</code> property of
43
+ * <code>M</code>. The resulting <code>jcr:mixinTypes</code> property of <code>M'</code>
44
+ * will reflect any change.</li>
45
+ * <li>If a node <code>M</code> in <code>S</code> is referenceable and its
46
+ * <code>mix:referenceable</code> mixin is not dropped on copy, then the resulting
47
+ * <code>jcr:uuid</code> property of <code>M'</code> will reflect the new identifier
48
+ * assigned to <code>M'</code>.</li>
49
+ * <li>Each <code>REFERENCE</code> or <code>WEAKEREFERENCE</code> property <code>R</code>
50
+ * in <code>S</code> is copied to its new location <code>R'</code> in <code>S'</code>.
51
+ * If <code>R</code> references a node <code>M</code> within <code>S</code> then the value
52
+ * of <code>R'</code> will be the identifier of <code>M'</code>, the new copy of
53
+ * <code>M</code>, thus preserving the reference within the subgraph.</li>
54
+ * </ul>
55
+ * When a node <code>N</code> is copied to a location where a node <code>N'</code> already
56
+ * exists, the repository may either immediately throw an <code>ItemExistsException</code>
57
+ * or attempt to update the node <code>N'</code> by selectively replacing part of its subgraph
58
+ * with a copy of the relevant part of the subgraph of <code>N</code>. If the node types of
59
+ * <code>N</code> and <code>N'</code> are compatible, the implementation supports update-on-copy
60
+ * for these node types and no other errors occur, then the copy will succeed. Otherwise an
61
+ * <code>ItemExistsException</code> is thrown.
62
+ * <p>
63
+ * Which node types can be updated on copy and the details of any such updates are
64
+ * implementation-dependent. For example, some implementations may support update-on-copy
65
+ * for <code>mix:versionable</code> nodes. In such a case the versioning-related properties
66
+ * of the target node would remain unchanged (<code>jcr:uuid</code>,
67
+ * <code>jcr:versionHistory</code>, etc.) while the substantive content part of the subgraph
68
+ * would be replaced with that of the source node.
69
+ * <p>
70
+ * The <code>destAbsPath</code> provided must not have an index on its final
71
+ * element. If it does then a <code>RepositoryException</code> is thrown.
72
+ * Strictly speaking, the <code>destAbsPath</code> parameter is actually an
73
+ * <i>absolute path</i> to the parent node of the new location, appended
74
+ * with the new <i>name</i> desired for the copied node. It does not specify
75
+ * a position within the child node ordering. If ordering is supported by
76
+ * the node type of the parent node of the new location, then the new copy
77
+ * of the node is appended to the end of the child node list.
78
+ * <p>
79
+ * This method cannot be used to copy an individual property by itself. It
80
+ * copies an entire node and its subgraph.
81
+ *
82
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>This method copies the subgraph at <code>srcAbsPath</code> in
83
+ * <code>srcWorkspace</code> to <code>destAbsPath</code> in
84
+ * <code>this</code> workspace.
85
+ * <p>
86
+ * When a node <code>N</code> is copied to a path location where no node
87
+ * currently exists, a new node <code>N'</code> is created at that location.
88
+ * The subgraph rooted at and including <code>N'</code> (call it <code>S'</code>)
89
+ * is created and is identical to the subgraph rooted at and including <code>N</code>
90
+ * (call it <code>S</code>) with the following exceptions:
91
+ * <ul>
92
+ * <li>Every referenceable node in <code>S'</code> is given a new and distinct identifier
93
+ * while every non-referenceable node in <code>S'</code> <i>may</i> be given a new and
94
+ * distinct identifier.</li>
95
+ * <li>The repository <i>may</i> automatically drop any mixin node type <code>T</code>
96
+ * present on any node <code>M</code> in <code>S</code>. Dropping a mixin node type
97
+ * in this context means that while <code>M</code> remains unchanged, its copy
98
+ * <code>M'</code> will lack the mixin <code>T</code> and any child nodes and properties
99
+ * defined by <code>T</code> that are present on <code>M</code>. For example, a node
100
+ * <code>M</code> that is <code>mix:versionable</code> may be copied such that the
101
+ * resulting node <code>M'</code> will be a copy of <code>N</code> except that
102
+ * <code>M'</code> will not be <code>mix:versionable</code> and will not have any of the
103
+ * properties defined by <code>mix:versionable</code>. In order for a mixin node type to
104
+ * be dropped it must be listed by name in the <code>jcr:mixinTypes</code> property of
105
+ * <code>M</code>. The resulting <code>jcr:mixinTypes</code> property of <code>M'</code>
106
+ * will reflect any change.</li>
107
+ * <li>If a node <code>M</code> in <code>S</code> is referenceable and its
108
+ * <code>mix:referenceable</code> mixin is not dropped on copy, then the resulting
109
+ * <code>jcr:uuid</code> property of <code>M'</code> will reflect the new identifier
110
+ * assigned to <code>M'</code>.</li>
111
+ * <li>Each <code>REFERENCE</code> or <code>WEAKEREFERENCE</code> property <code>R</code>
112
+ * in <code>S</code> is copied to its new location <code>R'</code> in <code>S'</code>.
113
+ * If <code>R</code> references a node <code>M</code> within <code>S</code> then the value
114
+ * of <code>R'</code> will be the identifier of <code>M'</code>, the new copy of
115
+ * <code>M</code>, thus preserving the reference within the subgraph.</li>
116
+ * </ul>
117
+ * When a node <code>N</code> is copied to a location where a node <code>N'</code> already
118
+ * exists, the repository may either immediately throw an <code>ItemExistsException</code>
119
+ * or attempt to update the node <code>N'</code> by selectively replacing part of its subgraph
120
+ * with a copy of the relevant part of the subgraph of <code>N</code>. If the node types of
121
+ * <code>N</code> and <code>N'</code> are compatible, the implementation supports update-on-copy
122
+ * for these node types and no other errors occur, then the copy will succeed. Otherwise an
123
+ * <code>ItemExistsException</code> is thrown.
124
+ * <p>
125
+ * Which node types can be updated on copy and the details of any such updates are
126
+ * implementation-dependent. For example, some implementations may support update-on-copy
127
+ * for <code>mix:versionable</code> nodes. In such a case the versioning-related properties
128
+ * of the target node would remain unchanged (<code>jcr:uuid</code>,
129
+ * <code>jcr:versionHistory</code>, etc.) while the substantive content part of the subgraph
130
+ * would be replaced with that of the source node.
131
+ * <p>
132
+ * The <code>destAbsPath</code> provided must not have an index on its final
133
+ * element. If it does then a <code>RepositoryException</code> is thrown.
134
+ * Strictly speaking, the <code>destAbsPath</code> parameter is actually an
135
+ * <i>absolute path</i> to the parent node of the new location, appended
136
+ * with the new <i>name</i> desired for the copied node. It does not specify
137
+ * a position within the child node ordering. If ordering is supported by
138
+ * the node type of the parent node of the new location, then the new copy
139
+ * of the node is appended to the end of the child node list.
140
+ * <p>
141
+ * This method cannot be used to copy just an individual property by itself.
142
+ * It copies an entire node and its subgraph (including, of course, any
143
+ * properties contained therein).
144
+ *
145
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Clones the subgraph at the node <code>srcAbsPath</code> in
146
+ * <code>srcWorkspace</code> to the new location at <code>destAbsPath</code>
147
+ * in <code>this</code> workspace.
148
+ * <p>
149
+ * Unlike the signature of <code>copy</code> that copies between workspaces,
150
+ * this method <i>does not</i> assign new identifiers to the newly cloned
151
+ * nodes but preserves the identifiers of their respective source nodes.
152
+ * This applies to both referenceable and non-referenceable nodes.
153
+ * <p>
154
+ * In some implementations there may be cases where preservation of a
155
+ * non-referenceable identifier is not possible, due to how
156
+ * non-referenceable identifiers are constructed in that implementation. In
157
+ * such a case this method will throw a <code>RepositoryException</code>.
158
+ * <p>
159
+ * If <code>removeExisting</code> is true and an existing node in this
160
+ * workspace (the destination workspace) has the same identifier as a node
161
+ * being cloned from <code>srcWorkspace</code>, then the incoming node takes
162
+ * precedence, and the existing node (and its subgraph) is removed. If
163
+ * <code>removeExisting</code> is false then an identifier collision causes
164
+ * this method to throw a <code>ItemExistsException</code> and no changes
165
+ * are made.
166
+ * <p>
167
+ * If successful, the change is persisted immediately, there is no need to
168
+ * call <code>save</code>.
169
+ * <p>
170
+ * The <code>destAbsPath</code> provided must not have an index on its final
171
+ * element. If it does then a <code>RepositoryException</code> is thrown. If
172
+ * ordering is supported by the node type of the parent node of the new
173
+ * location, then the new clone of the node is appended to the end of the
174
+ * child node list.
175
+ * <p>
176
+ * This method cannot be used to clone just an individual property; it
177
+ * clones an node and its subgraph.
178
+ *
179
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Moves the node at <code>srcAbsPath</code> (and its entire subgraph) to
180
+ * the new location at <code>destAbsPath</code>.
181
+ * <p>
182
+ * If successful, the change is persisted immediately, there is no need to
183
+ * call <code>save</code>. Note that this is in contrast to {@link
184
+ * Session#move} which operates within the transient space and hence
185
+ * requires a <code>save</code>.
186
+ * <p>
187
+ * The identifiers of referenceable nodes must not be changed by a
188
+ * <code>move</code>. The identifiers of non-referenceable nodes <i>may</i>
189
+ * change.
190
+ * <p>
191
+ * The <code>destAbsPath</code> provided must not have an index on its final
192
+ * element. If it does then a <code>RepositoryException</code> is thrown.
193
+ * Strictly speaking, the <code>destAbsPath</code> parameter is actually an
194
+ * <i>absolute path</i> to the parent node of the new location, appended
195
+ * with the new <i>name</i> desired for the moved node. It does not specify
196
+ * a position within the child node ordering. If ordering is supported by
197
+ * the node type of the parent node of the new location, then the newly
198
+ * moved node is appended to the end of the child node list.
199
+ * <p>
200
+ * This method cannot be used to move just an individual property by itself.
201
+ * It moves an entire node and its subgraph (including, of course, any
202
+ * properties contained therein).
203
+ * <p>
204
+ * The identifiers of referenceable nodes must not be changed by a
205
+ * <code>move</code>. The identifiers of non-referenceable nodes may
206
+ * change.
207
+ * <p>
208
+ * A <code>ConstraintViolationException</code> is thrown if the operation
209
+ * would violate a node-type or other implementation-specific constraint.
210
+ * <p>
211
+ * A <code>VersionException</code> is thrown if the parent node of
212
+ * <code>destAbsPath</code> or the parent node of <code>srcAbsPath</code> is
213
+ * versionable and checked-in, or is non-versionable but its nearest
214
+ * versionable ancestor is checked-in.
215
+ * <p>
216
+ * An <code>AccessDeniedException</code> is thrown if the current session
217
+ * (i.e. the session that was used to acquire this <code>Workspace</code>
218
+ * object) does not have sufficient access rights to complete the
219
+ * operation.
220
+ * <p>
221
+ * A <code>PathNotFoundException</code> is thrown if the node at
222
+ * <code>srcAbsPath</code> or the parent of <code>destAbsPath</code> does
223
+ * not exist.
224
+ * <p>
225
+ * An <code>ItemExistException</code> is thrown if a node already exists at
226
+ * <code>destAbsPath</code> and same-name siblings are not allowed.
227
+ * <p>
228
+ * Note that if a property already exists at <code>destAbsPath</code>, the
229
+ * operation succeeds, since a node may have a child node and property with
230
+ * the same name
231
+ * <p>
232
+ * A <code>LockException</code> if a lock prevents the move.
233
+ *
234
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Restores a set of versions at once. Used in cases where a "chicken and
235
+ * egg" problem of mutually referring <code>REFERENCE</code> properties
236
+ * would prevent the restore in any serial order.
237
+ * <p>
238
+ * If the restore succeeds the changes made to <code>this</code> node are
239
+ * persisted immediately, there is no need to call <code>save</code>.
240
+ * <p>
241
+ * The following restrictions apply to the set of versions specified:
242
+ * <p>
243
+ * If <code>S</code> is the set of versions being restored simultaneously,
244
+ * <ul> <li> For every version <code>V</code> in <code>S</code> that
245
+ * corresponds to a <i>missing</i> node, there must also be a parent of V in
246
+ * S. </li> <li> <code>S</code> must contain at least one version that
247
+ * corresponds to an existing node in the workspace. </li> <li> No
248
+ * <code>V</code> in <code>S</code> can be a root version
249
+ * (<code>jcr:rootVersion</code>). </li> </ul> If any of these restrictions
250
+ * does not hold, the restore will fail because the system will be unable to
251
+ * determine the path locations to which one or more versions are to be
252
+ * restored. In this case a <code>VersionException</code> is thrown.
253
+ * <p>
254
+ * The versionable nodes in this workspace that correspond to the versions
255
+ * being restored define a set of (one or more) subgraphs. An identifier
256
+ * collision occurs when this workspace contains a node <i>outside these
257
+ * subgraphs</i> that has the same identifier as one of the nodes that would
258
+ * be introduced by the <code>restore</code> operation <i>into one of these
259
+ * subgraphs</i>. The result in such a case is governed by the
260
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
261
+ * <code>true</code> then the incoming node takes precedence, and the
262
+ * existing node (and its subgraph) is removed. If <code>removeExisting</code>
263
+ * is <code>false</code> then a <code>ItemExistsException</code> is thrown
264
+ * and no changes are made. Note that this applies not only to cases where
265
+ * the restored node itself conflicts with an existing node but also to
266
+ * cases where a conflict occurs with any node that would be introduced into
267
+ * the workspace by the restore operation. In particular, conflicts
268
+ * involving subnodes of the restored node that have
269
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
270
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
271
+ * flag.
272
+ *
273
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns the <code>LockManager</code> object, through which locking
274
+ * methods are accessed.
275
+ *
276
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns the <code>QueryManager</code> object, through search methods are
277
+ * accessed.Returns the <code>NamespaceRegistry</code> object, which is used to
278
+ * access the mapping between prefixes and namespaces. In level 2
279
+ * repositories the <code>NamespaceRegistry</code> can also be used to
280
+ * change the namespace mappings.Returns the <code>NodeTypeManager</code> through which node type
281
+ * information can be queried. There is one node type registry per
282
+ * repository, therefore the <code>NodeTypeManager</code> is not
283
+ * workspace-specific; it provides introspection methods for the global,
284
+ * repository-wide set of available node types. In repositories that support
285
+ * it, the <code>NodeTypeManager</code> can also be used to register new
286
+ * node types.Returns the <code>ObservationManager</code> object.
287
+ *
288
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns the <code>VersionManager</code> object.
289
+ *
290
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns a string array containing the names of all workspaces in this
291
+ * repository that are accessible to this user, given the
292
+ * <code>Credentials</code> that were used to get the <code>Session</code>
293
+ * to which this <code>Workspace</code> is tied.
294
+ * <p>
295
+ * In order to access one of the listed workspaces, the user performs
296
+ * another {@link Repository#login}, specifying the name of the desired
297
+ * workspace, and receives a new <code>Session</code> object.Returns an <code>org.xml.sax.ContentHandler</code> which can be used to
298
+ * push SAX events into the repository. If the incoming XML stream (in the
299
+ * form of SAX events) does not appear to be a JCR system view XML document
300
+ * then it is interpreted as a document view XML document.
301
+ * <p>
302
+ * The incoming XML is deserialized into a subgraph of items immediately
303
+ * below the node at <code>parentAbsPath</code>.
304
+ * <p>
305
+ * This method simply returns the <code>ContentHandler</code> without
306
+ * altering the state of the repository; the actual deserialization is done
307
+ * through the methods of the <code>ContentHandler</code>. Invalid XML data
308
+ * will cause the <code>ContentHandler</code> to throw a
309
+ * <code>SAXException</code>.
310
+ * <p>
311
+ * As SAX events are fed into the <code>ContentHandler</code>, changes are
312
+ * made directly at the workspace level, without going through the
313
+ * <code>Session</code>. As a result, there is not need to call
314
+ * <code>save</code>. The advantage of this direct-to-workspace method is
315
+ * that a large import will not result in a large cache of pending nodes in
316
+ * the <code>Session</code>. The disadvantage is that structures that
317
+ * violate node type constraints cannot be imported, fixed and then saved.
318
+ * Instead, a constraint violation will cause the <code>ContentHandler</code>
319
+ * to throw a <code>SAXException</code>. See <code>Session.getImportContentHandler</code>
320
+ * for a version of this method that <i>does</i> go through the
321
+ * <code>Session</code>.
322
+ * <p>
323
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
324
+ * incoming (deserialized) nodes are handled. There are four options: <ul>
325
+ * <li>{@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}: Incoming nodes are
326
+ * assigned newly created identifiers upon addition to the workspace. As a
327
+ * result identifier collisions never occur. <li>{@link
328
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}: If an incoming
329
+ * node has the same identifier as a node already existing in the workspace,
330
+ * then the already existing node (and its subgraph) is removed from
331
+ * wherever it may be in the workspace before the incoming node is added.
332
+ * Note that this can result in nodes "disappearing" from locations in the
333
+ * workspace that are remote from the location to which the incoming
334
+ * subgraph is being written. <li>{@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}:
335
+ * If an incoming node has the same identifier as a node already existing in
336
+ * the workspace then the already existing node is replaced by the incoming
337
+ * node in the same position as the existing node. Note that this may result
338
+ * in the incoming subgraph being disaggregated and "spread around" to
339
+ * different locations in the workspace. In the most extreme case this
340
+ * behavior may result in no node at all being added as child of
341
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
342
+ * incoming XML has the same identifier as an existing node elsewhere in the
343
+ * workspace. <li>{@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If
344
+ * an incoming node has the same identifier as a node already existing in
345
+ * the workspace then a <code>SAXException</code> is thrown by the returned
346
+ * <code>ContentHandler</code> during deserialization. </ul> A
347
+ * <code>SAXException</code> will be thrown by the returned
348
+ * <code>ContentHandler</code> during deserialization if the top-most
349
+ * element of the incoming XML would deserialize to a node with the same
350
+ * name as an existing child of <code>parentAbsPath</code> and that child
351
+ * does not allow same-name siblings.
352
+ * <p>
353
+ * A <code>SAXException</code> will also be thrown by the returned
354
+ * <code>ContentHandler</code> during deserialization if
355
+ * <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code>
356
+ * and an incoming node has the same identifier as the node at
357
+ * <code>parentAbsPath</code> or one of its ancestors.
358
+ *
359
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Deserializes an XML document and adds the resulting item subgraph as a
360
+ * child of the node at <code>parentAbsPath</code>.
361
+ * <p>
362
+ * If the incoming XML stream does not appear to be a JCR system view XML
363
+ * document then it is interpreted as a <b>document view</b> XML document.
364
+ * <p>
365
+ * The passed <code>InputStream</code> is closed before this method returns
366
+ * either normally or because of an exception.
367
+ * <p>
368
+ * Changes are made directly at the workspace level, without going through
369
+ * the <code>Session</code>. As a result, there is not need to call
370
+ * <code>save</code>. The advantage of this direct-to-workspace method is
371
+ * that a large import will not result in a large cache of pending nodes in
372
+ * the <code>Session</code>. The disadvantage is that invalid data cannot be
373
+ * imported, fixed and then saved. Instead, invalid data will cause this
374
+ * method to throw an <code>InvalidSerializedDataException</code>. See
375
+ * <code>Session.importXML</code> for a version of this method that
376
+ * <i>does</i> go through the <code>Session</code>.
377
+ * <p>
378
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
379
+ * incoming (deserialized) nodes are handled. There are four options: <ul>
380
+ * <li>{@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}: Incoming nodes are
381
+ * assigned newly created identifiers upon addition to the workspace. As a
382
+ * result identifier collisions never occur. <li>{@link
383
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}: If an incoming
384
+ * node has the same identifier as a node already existing in the workspace
385
+ * then the already existing node (and its subgraph) is removed from
386
+ * wherever it may be in the workspace before the incoming node is added.
387
+ * Note that this can result in nodes "disappearing" from locations in the
388
+ * workspace that are remote from the location to which the incoming
389
+ * subgraph is being written. If an incoming node has the same identifier as
390
+ * the existing root node of this workspace then <li>{@link
391
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}: If an
392
+ * incoming node has the same identifier as a node already existing in the
393
+ * workspace then the already existing node is replaced by the incoming node
394
+ * in the same position as the existing node. Note that this may result in
395
+ * the incoming subgraph being disaggregated and "spread around" to
396
+ * different locations in the workspace. In the most extreme edge case this
397
+ * behavior may result in no node at all being added as child of
398
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
399
+ * incoming XML has the same identifier as an existing node elsewhere in the
400
+ * workspace. <li>{@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If
401
+ * an incoming node has the same identifier as a node already existing in
402
+ * the workspace then an <code>ItemExistsException</code> is thrown. </ul>
403
+ * An <code>ItemExistsException</code> will be thrown if the top-most
404
+ * element of the incoming XML would deserialize to a node with the same
405
+ * name as an existing child of <code>parentAbsPath</code> and that child
406
+ * does not allow same-name siblings.
407
+ *
408
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Creates a new <code>Workspace</code> with the specified
409
+ * <code>name</code>. The new workspace is empty, meaning it contains only
410
+ * root node.
411
+ * <p>
412
+ * The new workspace can be accessed through a <code>login</code> specifying
413
+ * its name.
414
+ *
415
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Creates a new <code>Workspace</code> with the specified <code>name</code>
416
+ * initialized with a <code>clone</code> of the content of the workspace
417
+ * <code>srcWorkspace</code>. Semantically, this method is equivalent to
418
+ * creating a new workspace and manually cloning <code>srcWorkspace</code>
419
+ * to it; however, this method may assist some implementations in optimizing
420
+ * subsequent <code>Node.update</code> and <code>Node.merge</code> calls
421
+ * between the new workspace and its source.
422
+ * <p>
423
+ * The new workspace can be accessed through a <code>login</code> specifying
424
+ * its name.
425
+ *
426
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Deletes the workspace with the specified <code>name</code> from the
427
+ * repository, deleting all content within it.
428
+ *
429
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>A constant for the name of the workspace root node.A constant for the absolute path of the workspace root node.A constant for the name of the system node.A constant for the absolute path of the system node.A constant for the name of the node type definition storage node.A constant for the absolute path of the node type definition storage
430
+ * node.A constant for the name of the version storage node.A constant for the absolute path of the version storage node.A constant for the name of the activities node.A constant for the absolute path of the activities node.A constant for the name of the configurations node.A constant for the absolute path of the configurations node.A constant for the name of the unfiled storage node.A constant for the absolute path of the unfiled storage node.A constant for the name of the <code>jcr:xmltext</code> node produced on
431
+ * {@link #importXML}.A constant for the name of the <code>jcr:xmlcharacters</code> property
432
+ * produced on {@link #importXML}.A constant for the relative path from the node representing the imported
433
+ * XML element of the <code>jcr:xmlcharacters</code> property produced on
434
+ * {@link #importXML}.
435
+
436
+ */
437
+ interface Workspace {
438
+ /**
439
+ * Returns the <code>Session</code> object through which this
440
+ * <code>Workspace</code> object was acquired.
441
+ * @return a <code>{@link Session}</code> object.
442
+ */
443
+ getSession(): Session;
444
+
445
+ /**
446
+ * Returns the name of the actual persistent workspace represented by this
447
+ * <code>Workspace</code> object. This the name used in
448
+ * <code>Repository.login</code>.
449
+ * @return the name of this workspace.
450
+ */
451
+ getName(): string;
452
+
453
+ /**
454
+ * This method copies the subgraph rooted at, and including, the node at
455
+ * <code>srcAbsPath</code> to the new location at <code>destAbsPath</code>.
456
+ * <p>
457
+ * This is a workspace-write operation and therefore dispatches changes
458
+ * immediately and does not require a <code>save</code>.
459
+ * <p>
460
+ * When a node <code>N</code> is copied to a path location where no node
461
+ * currently exists, a new node <code>N'</code> is created at that location.
462
+ * The subgraph rooted at and including <code>N'</code> (call it <code>S'</code>)
463
+ * is created and is identical to the subgraph rooted at and including <code>N</code>
464
+ * (call it <code>S</code>) with the following exceptions:
465
+ * <ul>
466
+ * <li>Every node in <code>S'</code> is given a new and distinct identifier.</li>
467
+ * <li>The repository <i>may</i> automatically drop any mixin node type <code>T</code>
468
+ * present on any node <code>M</code> in <code>S</code>. Dropping a mixin node type
469
+ * in this context means that while <code>M</code> remains unchanged, its copy
470
+ * <code>M'</code> will lack the mixin <code>T</code> and any child nodes and properties
471
+ * defined by <code>T</code> that are present on <code>M</code>. For example, a node
472
+ * <code>M</code> that is <code>mix:versionable</code> may be copied such that the
473
+ * resulting node <code>M'</code> will be a copy of <code>N</code> except that
474
+ * <code>M'</code> will not be <code>mix:versionable</code> and will not have any of the
475
+ * properties defined by <code>mix:versionable</code>. In order for a mixin node type to
476
+ * be dropped it must be listed by name in the <code>jcr:mixinTypes</code> property of
477
+ * <code>M</code>. The resulting <code>jcr:mixinTypes</code> property of <code>M'</code>
478
+ * will reflect any change.</li>
479
+ * <li>If a node <code>M</code> in <code>S</code> is referenceable and its
480
+ * <code>mix:referenceable</code> mixin is not dropped on copy, then the resulting
481
+ * <code>jcr:uuid</code> property of <code>M'</code> will reflect the new identifier
482
+ * assigned to <code>M'</code>.</li>
483
+ * <li>Each <code>REFERENCE</code> or <code>WEAKEREFERENCE</code> property <code>R</code>
484
+ * in <code>S</code> is copied to its new location <code>R'</code> in <code>S'</code>.
485
+ * If <code>R</code> references a node <code>M</code> within <code>S</code> then the value
486
+ * of <code>R'</code> will be the identifier of <code>M'</code>, the new copy of
487
+ * <code>M</code>, thus preserving the reference within the subgraph.</li>
488
+ * </ul>
489
+ * When a node <code>N</code> is copied to a location where a node <code>N'</code> already
490
+ * exists, the repository may either immediately throw an <code>ItemExistsException</code>
491
+ * or attempt to update the node <code>N'</code> by selectively replacing part of its subgraph
492
+ * with a copy of the relevant part of the subgraph of <code>N</code>. If the node types of
493
+ * <code>N</code> and <code>N'</code> are compatible, the implementation supports update-on-copy
494
+ * for these node types and no other errors occur, then the copy will succeed. Otherwise an
495
+ * <code>ItemExistsException</code> is thrown.
496
+ * <p>
497
+ * Which node types can be updated on copy and the details of any such updates are
498
+ * implementation-dependent. For example, some implementations may support update-on-copy
499
+ * for <code>mix:versionable</code> nodes. In such a case the versioning-related properties
500
+ * of the target node would remain unchanged (<code>jcr:uuid</code>,
501
+ * <code>jcr:versionHistory</code>, etc.) while the substantive content part of the subgraph
502
+ * would be replaced with that of the source node.
503
+ * <p>
504
+ * The <code>destAbsPath</code> provided must not have an index on its final
505
+ * element. If it does then a <code>RepositoryException</code> is thrown.
506
+ * Strictly speaking, the <code>destAbsPath</code> parameter is actually an
507
+ * <i>absolute path</i> to the parent node of the new location, appended
508
+ * with the new <i>name</i> desired for the copied node. It does not specify
509
+ * a position within the child node ordering. If ordering is supported by
510
+ * the node type of the parent node of the new location, then the new copy
511
+ * of the node is appended to the end of the child node list.
512
+ * <p>
513
+ * This method cannot be used to copy an individual property by itself. It
514
+ * copies an entire node and its subgraph.
515
+ *
516
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
517
+ * @param srcAbsPath the path of the node to be copied.
518
+ * @param destAbsPath the location to which the node at <code>srcAbsPath</code> is to be copied.
519
+ * @throws ConstraintViolationException if the operation would violate a node-type or other implementation-specific constraint.
520
+ * @throws VersionException if the parent node of <code>destAbsPath</code> is read-only due to a checked-in node.
521
+ * @throws AccessDeniedException if the current session does not have sufficent access to complete the operation.
522
+ * @throws PathNotFoundException if the node at <code>srcAbsPath</code> or the parent of <code>destAbsPath</code> does not exist.
523
+ * @throws ItemExistsException if a node already exists at <code>destAbsPath</code> and either same-name siblings are not allowed or update on copy is not supported for the nodes involved.
524
+ * @throws LockException if a lock prevents the copy.
525
+ * @throws RepositoryException if the last element of <code>destAbsPath</code> has an index or if another error occurs.
526
+ */
527
+ copy(srcAbsPath: string, destAbsPath: string): void;
528
+
529
+ /**
530
+ * This method copies the subgraph at <code>srcAbsPath</code> in
531
+ * <code>srcWorkspace</code> to <code>destAbsPath</code> in
532
+ * <code>this</code> workspace.
533
+ * <p>
534
+ * When a node <code>N</code> is copied to a path location where no node
535
+ * currently exists, a new node <code>N'</code> is created at that location.
536
+ * The subgraph rooted at and including <code>N'</code> (call it <code>S'</code>)
537
+ * is created and is identical to the subgraph rooted at and including <code>N</code>
538
+ * (call it <code>S</code>) with the following exceptions:
539
+ * <ul>
540
+ * <li>Every referenceable node in <code>S'</code> is given a new and distinct identifier
541
+ * while every non-referenceable node in <code>S'</code> <i>may</i> be given a new and
542
+ * distinct identifier.</li>
543
+ * <li>The repository <i>may</i> automatically drop any mixin node type <code>T</code>
544
+ * present on any node <code>M</code> in <code>S</code>. Dropping a mixin node type
545
+ * in this context means that while <code>M</code> remains unchanged, its copy
546
+ * <code>M'</code> will lack the mixin <code>T</code> and any child nodes and properties
547
+ * defined by <code>T</code> that are present on <code>M</code>. For example, a node
548
+ * <code>M</code> that is <code>mix:versionable</code> may be copied such that the
549
+ * resulting node <code>M'</code> will be a copy of <code>N</code> except that
550
+ * <code>M'</code> will not be <code>mix:versionable</code> and will not have any of the
551
+ * properties defined by <code>mix:versionable</code>. In order for a mixin node type to
552
+ * be dropped it must be listed by name in the <code>jcr:mixinTypes</code> property of
553
+ * <code>M</code>. The resulting <code>jcr:mixinTypes</code> property of <code>M'</code>
554
+ * will reflect any change.</li>
555
+ * <li>If a node <code>M</code> in <code>S</code> is referenceable and its
556
+ * <code>mix:referenceable</code> mixin is not dropped on copy, then the resulting
557
+ * <code>jcr:uuid</code> property of <code>M'</code> will reflect the new identifier
558
+ * assigned to <code>M'</code>.</li>
559
+ * <li>Each <code>REFERENCE</code> or <code>WEAKEREFERENCE</code> property <code>R</code>
560
+ * in <code>S</code> is copied to its new location <code>R'</code> in <code>S'</code>.
561
+ * If <code>R</code> references a node <code>M</code> within <code>S</code> then the value
562
+ * of <code>R'</code> will be the identifier of <code>M'</code>, the new copy of
563
+ * <code>M</code>, thus preserving the reference within the subgraph.</li>
564
+ * </ul>
565
+ * When a node <code>N</code> is copied to a location where a node <code>N'</code> already
566
+ * exists, the repository may either immediately throw an <code>ItemExistsException</code>
567
+ * or attempt to update the node <code>N'</code> by selectively replacing part of its subgraph
568
+ * with a copy of the relevant part of the subgraph of <code>N</code>. If the node types of
569
+ * <code>N</code> and <code>N'</code> are compatible, the implementation supports update-on-copy
570
+ * for these node types and no other errors occur, then the copy will succeed. Otherwise an
571
+ * <code>ItemExistsException</code> is thrown.
572
+ * <p>
573
+ * Which node types can be updated on copy and the details of any such updates are
574
+ * implementation-dependent. For example, some implementations may support update-on-copy
575
+ * for <code>mix:versionable</code> nodes. In such a case the versioning-related properties
576
+ * of the target node would remain unchanged (<code>jcr:uuid</code>,
577
+ * <code>jcr:versionHistory</code>, etc.) while the substantive content part of the subgraph
578
+ * would be replaced with that of the source node.
579
+ * <p>
580
+ * The <code>destAbsPath</code> provided must not have an index on its final
581
+ * element. If it does then a <code>RepositoryException</code> is thrown.
582
+ * Strictly speaking, the <code>destAbsPath</code> parameter is actually an
583
+ * <i>absolute path</i> to the parent node of the new location, appended
584
+ * with the new <i>name</i> desired for the copied node. It does not specify
585
+ * a position within the child node ordering. If ordering is supported by
586
+ * the node type of the parent node of the new location, then the new copy
587
+ * of the node is appended to the end of the child node list.
588
+ * <p>
589
+ * This method cannot be used to copy just an individual property by itself.
590
+ * It copies an entire node and its subgraph (including, of course, any
591
+ * properties contained therein).
592
+ *
593
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
594
+ * @param srcWorkspace the name of the workspace from which the copy is to be made.
595
+ * @param srcAbsPath the path of the node to be copied.
596
+ * @param destAbsPath the location to which the node at <code>srcAbsPath</code> is to be copied in <code>this</code> workspace.
597
+ * @throws NoSuchWorkspaceException if <code>srcWorkspace</code> does not exist or if the current <code>Session</code> does not have permission to access it.
598
+ * @throws ConstraintViolationException if the operation would violate a node-type or other implementation-specific constraint
599
+ * @throws VersionException if the parent node of <code>destAbsPath</code> is read-only due to a checked-in node.
600
+ * @throws AccessDeniedException if the current session does have access to <code>srcWorkspace</code> but otherwise does not have sufficient access to complete the operation.
601
+ * @throws PathNotFoundException if the node at <code>srcAbsPath</code> in <code>srcWorkspace</code> or the parent of <code>destAbsPath</code> in this workspace does not exist.
602
+ * @throws ItemExistsException if a node already exists at <code>destAbsPath</code> and either same-name siblings are not allowed or update on copy is not supported for the nodes involved.
603
+ * @throws LockException if a lock prevents the copy.
604
+ * @throws RepositoryException if the last element of <code>destAbsPath</code> has an index or if another error occurs.
605
+ */
606
+ copy(srcWorkspace: string, srcAbsPath: string, destAbsPath: string): void;
607
+
608
+ /**
609
+ * Clones the subgraph at the node <code>srcAbsPath</code> in
610
+ * <code>srcWorkspace</code> to the new location at <code>destAbsPath</code>
611
+ * in <code>this</code> workspace.
612
+ * <p>
613
+ * Unlike the signature of <code>copy</code> that copies between workspaces,
614
+ * this method <i>does not</i> assign new identifiers to the newly cloned
615
+ * nodes but preserves the identifiers of their respective source nodes.
616
+ * This applies to both referenceable and non-referenceable nodes.
617
+ * <p>
618
+ * In some implementations there may be cases where preservation of a
619
+ * non-referenceable identifier is not possible, due to how
620
+ * non-referenceable identifiers are constructed in that implementation. In
621
+ * such a case this method will throw a <code>RepositoryException</code>.
622
+ * <p>
623
+ * If <code>removeExisting</code> is true and an existing node in this
624
+ * workspace (the destination workspace) has the same identifier as a node
625
+ * being cloned from <code>srcWorkspace</code>, then the incoming node takes
626
+ * precedence, and the existing node (and its subgraph) is removed. If
627
+ * <code>removeExisting</code> is false then an identifier collision causes
628
+ * this method to throw a <code>ItemExistsException</code> and no changes
629
+ * are made.
630
+ * <p>
631
+ * If successful, the change is persisted immediately, there is no need to
632
+ * call <code>save</code>.
633
+ * <p>
634
+ * The <code>destAbsPath</code> provided must not have an index on its final
635
+ * element. If it does then a <code>RepositoryException</code> is thrown. If
636
+ * ordering is supported by the node type of the parent node of the new
637
+ * location, then the new clone of the node is appended to the end of the
638
+ * child node list.
639
+ * <p>
640
+ * This method cannot be used to clone just an individual property; it
641
+ * clones an node and its subgraph.
642
+ *
643
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
644
+ * @param srcWorkspace The name of the workspace from which the node is to be copied.
645
+ * @param srcAbsPath the path of the node to be copied in <code>srcWorkspace</code>.
646
+ * @param destAbsPath the location to which the node at <code>srcAbsPath</code> is to be copied in <code>this</code> workspace.
647
+ * @param removeExisting if <code>false</code> then this method throws an <code>ItemExistsException</code> on identifier conflict with an incoming node. If <code>true</code> then a identifier conflict is resolved by removing the existing node from its location in this workspace and cloning (copying in) the one from <code>srcWorkspace</code>.
648
+ * @throws NoSuchWorkspaceException if <code>destWorkspace</code> does not exist.
649
+ * @throws ConstraintViolationException if the operation would violate a node-type or other implementation-specific constraint.
650
+ * @throws VersionException if the parent node of <code>destAbsPath</code> is read-only due to a checked-in node. This exception will also be thrown if <code>removeExisting</code> is <code>true</code>, and an identifier conflict occurs that would require the moving and/or altering of a node that is checked-in.
651
+ * @throws AccessDeniedException if the current session does not have sufficient access to complete the operation.
652
+ * @throws PathNotFoundException if the node at <code>srcAbsPath</code> in <code>srcWorkspace</code> or the parent of <code>destAbsPath</code> in this workspace does not exist.
653
+ * @throws ItemExistsException if a node already exists at <code>destAbsPath</code> and same-name siblings are not allowed or if <code>removeExisting</code> is <code>false</code> and an identifier conflict occurs.
654
+ * @throws LockException if a lock prevents the clone.
655
+ * @throws RepositoryException if the last element of <code>destAbsPath</code> has an index or if another error occurs.
656
+ */
657
+ clone(
658
+ srcWorkspace: string,
659
+ srcAbsPath: string,
660
+ destAbsPath: string,
661
+ removeExisting: boolean
662
+ ): void;
663
+
664
+ /**
665
+ * Moves the node at <code>srcAbsPath</code> (and its entire subgraph) to
666
+ * the new location at <code>destAbsPath</code>.
667
+ * <p>
668
+ * If successful, the change is persisted immediately, there is no need to
669
+ * call <code>save</code>. Note that this is in contrast to {@link
670
+ * Session#move} which operates within the transient space and hence
671
+ * requires a <code>save</code>.
672
+ * <p>
673
+ * The identifiers of referenceable nodes must not be changed by a
674
+ * <code>move</code>. The identifiers of non-referenceable nodes <i>may</i>
675
+ * change.
676
+ * <p>
677
+ * The <code>destAbsPath</code> provided must not have an index on its final
678
+ * element. If it does then a <code>RepositoryException</code> is thrown.
679
+ * Strictly speaking, the <code>destAbsPath</code> parameter is actually an
680
+ * <i>absolute path</i> to the parent node of the new location, appended
681
+ * with the new <i>name</i> desired for the moved node. It does not specify
682
+ * a position within the child node ordering. If ordering is supported by
683
+ * the node type of the parent node of the new location, then the newly
684
+ * moved node is appended to the end of the child node list.
685
+ * <p>
686
+ * This method cannot be used to move just an individual property by itself.
687
+ * It moves an entire node and its subgraph (including, of course, any
688
+ * properties contained therein).
689
+ * <p>
690
+ * The identifiers of referenceable nodes must not be changed by a
691
+ * <code>move</code>. The identifiers of non-referenceable nodes may
692
+ * change.
693
+ * <p>
694
+ * A <code>ConstraintViolationException</code> is thrown if the operation
695
+ * would violate a node-type or other implementation-specific constraint.
696
+ * <p>
697
+ * A <code>VersionException</code> is thrown if the parent node of
698
+ * <code>destAbsPath</code> or the parent node of <code>srcAbsPath</code> is
699
+ * versionable and checked-in, or is non-versionable but its nearest
700
+ * versionable ancestor is checked-in.
701
+ * <p>
702
+ * An <code>AccessDeniedException</code> is thrown if the current session
703
+ * (i.e. the session that was used to acquire this <code>Workspace</code>
704
+ * object) does not have sufficient access rights to complete the
705
+ * operation.
706
+ * <p>
707
+ * A <code>PathNotFoundException</code> is thrown if the node at
708
+ * <code>srcAbsPath</code> or the parent of <code>destAbsPath</code> does
709
+ * not exist.
710
+ * <p>
711
+ * An <code>ItemExistException</code> is thrown if a node already exists at
712
+ * <code>destAbsPath</code> and same-name siblings are not allowed.
713
+ * <p>
714
+ * Note that if a property already exists at <code>destAbsPath</code>, the
715
+ * operation succeeds, since a node may have a child node and property with
716
+ * the same name
717
+ * <p>
718
+ * A <code>LockException</code> if a lock prevents the move.
719
+ *
720
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
721
+ * @param srcAbsPath the path of the node to be moved.
722
+ * @param destAbsPath the location to which the node at <code>srcAbsPath</code> is to be moved.
723
+ * @throws ConstraintViolationException if the operation would violate a node-type or other implementation-specific constraint
724
+ * @throws VersionException if the parent node of <code>destAbsPath</code> is read-only due to a checked-in node.
725
+ * @throws AccessDeniedException if the current session does not have sufficient access to complete the operation.
726
+ * @throws PathNotFoundException if the node at <code>srcAbsPath</code> or the parent of <code>destAbsPath</code> does not exist.
727
+ * @throws ItemExistsException if a node already exists at <code>destAbsPath</code> and same-name siblings are not allowed.
728
+ * @throws LockException if a lock prevents the move.
729
+ * @throws RepositoryException if the last element of <code>destAbsPath</code> has an index or if another error occurs.
730
+ */
731
+ move(srcAbsPath: string, destAbsPath: string): void;
732
+
733
+ /**
734
+ * Restores a set of versions at once. Used in cases where a "chicken and
735
+ * egg" problem of mutually referring <code>REFERENCE</code> properties
736
+ * would prevent the restore in any serial order.
737
+ * <p>
738
+ * If the restore succeeds the changes made to <code>this</code> node are
739
+ * persisted immediately, there is no need to call <code>save</code>.
740
+ * <p>
741
+ * The following restrictions apply to the set of versions specified:
742
+ * <p>
743
+ * If <code>S</code> is the set of versions being restored simultaneously,
744
+ * <ul> <li> For every version <code>V</code> in <code>S</code> that
745
+ * corresponds to a <i>missing</i> node, there must also be a parent of V in
746
+ * S. </li> <li> <code>S</code> must contain at least one version that
747
+ * corresponds to an existing node in the workspace. </li> <li> No
748
+ * <code>V</code> in <code>S</code> can be a root version
749
+ * (<code>jcr:rootVersion</code>). </li> </ul> If any of these restrictions
750
+ * does not hold, the restore will fail because the system will be unable to
751
+ * determine the path locations to which one or more versions are to be
752
+ * restored. In this case a <code>VersionException</code> is thrown.
753
+ * <p>
754
+ * The versionable nodes in this workspace that correspond to the versions
755
+ * being restored define a set of (one or more) subgraphs. An identifier
756
+ * collision occurs when this workspace contains a node <i>outside these
757
+ * subgraphs</i> that has the same identifier as one of the nodes that would
758
+ * be introduced by the <code>restore</code> operation <i>into one of these
759
+ * subgraphs</i>. The result in such a case is governed by the
760
+ * <code>removeExisting</code> flag. If <code>removeExisting</code> is
761
+ * <code>true</code> then the incoming node takes precedence, and the
762
+ * existing node (and its subgraph) is removed. If <code>removeExisting</code>
763
+ * is <code>false</code> then a <code>ItemExistsException</code> is thrown
764
+ * and no changes are made. Note that this applies not only to cases where
765
+ * the restored node itself conflicts with an existing node but also to
766
+ * cases where a conflict occurs with any node that would be introduced into
767
+ * the workspace by the restore operation. In particular, conflicts
768
+ * involving subnodes of the restored node that have
769
+ * <code>OnParentVersion</code> settings of <code>COPY</code> or
770
+ * <code>VERSION</code> are also governed by the <code>removeExisting</code>
771
+ * flag.
772
+ *
773
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
774
+ * @param versions The set of versions to be restored
775
+ * @param removeExisting governs what happens on identifier collision.
776
+ * @throws ItemExistsException if <code>removeExisting</code> is <code>false</code> and an identifier collision occurs with a node being restored.
777
+ * @throws UnsupportedRepositoryOperationException if one or more of the nodes to be restored is not versionable.
778
+ * @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.
779
+ * @throws LockException if a lock prevents the restore.
780
+ * @throws InvalidItemStateException if this <code>Session</code> has pending unsaved changes.
781
+ * @throws RepositoryException if another error occurs.
782
+ * @deprecated As of JCR 2.0, {@link javax.jcr.version.VersionManager#restore} should be used instead.
783
+ */
784
+ restore(versions: Version, removeExisting: boolean): void;
785
+
786
+ /**
787
+ * Returns the <code>LockManager</code> object, through which locking
788
+ * methods are accessed.
789
+ *
790
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
791
+ * @return the <code>LockManager</code> object.
792
+ * @throws UnsupportedRepositoryOperationException if the implementation does not support locking.
793
+ * @throws RepositoryException if an error occurs.
794
+ * @since JCR 2.0
795
+ */
796
+ getLockManager(): LockManager;
797
+
798
+ /**
799
+ * Returns the <code>QueryManager</code> object, through search methods are
800
+ * accessed.
801
+ * @return the <code>QueryManager</code> object.
802
+ * @throws RepositoryException if an error occurs.
803
+ */
804
+ getQueryManager(): QueryManager;
805
+
806
+ /**
807
+ * Returns the <code>NamespaceRegistry</code> object, which is used to
808
+ * access the mapping between prefixes and namespaces. In level 2
809
+ * repositories the <code>NamespaceRegistry</code> can also be used to
810
+ * change the namespace mappings.
811
+ * @return the <code>NamespaceRegistry</code>.
812
+ * @throws RepositoryException if an error occurs.
813
+ */
814
+ getNamespaceRegistry(): NamespaceRegistry;
815
+
816
+ /**
817
+ * Returns the <code>NodeTypeManager</code> through which node type
818
+ * information can be queried. There is one node type registry per
819
+ * repository, therefore the <code>NodeTypeManager</code> is not
820
+ * workspace-specific; it provides introspection methods for the global,
821
+ * repository-wide set of available node types. In repositories that support
822
+ * it, the <code>NodeTypeManager</code> can also be used to register new
823
+ * node types.
824
+ * @return a <code>NodeTypeManager</code> object.
825
+ * @throws RepositoryException if an error occurs.
826
+ */
827
+ getNodeTypeManager(): NodeTypeManager;
828
+
829
+ /**
830
+ * Returns the <code>ObservationManager</code> object.
831
+ *
832
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
833
+ * @return an <code>ObservationManager</code> object.
834
+ * @throws UnsupportedRepositoryOperationException if the implementation does not support observation.
835
+ * @throws RepositoryException if an error occurs.
836
+ */
837
+ getObservationManager(): ObservationManager;
838
+
839
+ /**
840
+ * Returns the <code>VersionManager</code> object.
841
+ *
842
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
843
+ * @return an <code>VersionManager</code> object.
844
+ * @throws UnsupportedRepositoryOperationException if the implementation does not support versioning.
845
+ * @throws RepositoryException if an error occurs.
846
+ * @since JCR 2.0
847
+ */
848
+ getVersionManager(): VersionManager;
849
+
850
+ /**
851
+ * Returns a string array containing the names of all workspaces in this
852
+ * repository that are accessible to this user, given the
853
+ * <code>Credentials</code> that were used to get the <code>Session</code>
854
+ * to which this <code>Workspace</code> is tied.
855
+ * <p>
856
+ * In order to access one of the listed workspaces, the user performs
857
+ * another {@link Repository#login}, specifying the name of the desired
858
+ * workspace, and receives a new <code>Session</code> object.
859
+ * @return string array of names of accessible workspaces.
860
+ * @throws RepositoryException if an error occurs
861
+ */
862
+ getAccessibleWorkspaceNames(): string;
863
+
864
+ /**
865
+ * Returns an <code>org.xml.sax.ContentHandler</code> which can be used to
866
+ * push SAX events into the repository. If the incoming XML stream (in the
867
+ * form of SAX events) does not appear to be a JCR system view XML document
868
+ * then it is interpreted as a document view XML document.
869
+ * <p>
870
+ * The incoming XML is deserialized into a subgraph of items immediately
871
+ * below the node at <code>parentAbsPath</code>.
872
+ * <p>
873
+ * This method simply returns the <code>ContentHandler</code> without
874
+ * altering the state of the repository; the actual deserialization is done
875
+ * through the methods of the <code>ContentHandler</code>. Invalid XML data
876
+ * will cause the <code>ContentHandler</code> to throw a
877
+ * <code>SAXException</code>.
878
+ * <p>
879
+ * As SAX events are fed into the <code>ContentHandler</code>, changes are
880
+ * made directly at the workspace level, without going through the
881
+ * <code>Session</code>. As a result, there is not need to call
882
+ * <code>save</code>. The advantage of this direct-to-workspace method is
883
+ * that a large import will not result in a large cache of pending nodes in
884
+ * the <code>Session</code>. The disadvantage is that structures that
885
+ * violate node type constraints cannot be imported, fixed and then saved.
886
+ * Instead, a constraint violation will cause the <code>ContentHandler</code>
887
+ * to throw a <code>SAXException</code>. See <code>Session.getImportContentHandler</code>
888
+ * for a version of this method that <i>does</i> go through the
889
+ * <code>Session</code>.
890
+ * <p>
891
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
892
+ * incoming (deserialized) nodes are handled. There are four options: <ul>
893
+ * <li>{@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}: Incoming nodes are
894
+ * assigned newly created identifiers upon addition to the workspace. As a
895
+ * result identifier collisions never occur. <li>{@link
896
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}: If an incoming
897
+ * node has the same identifier as a node already existing in the workspace,
898
+ * then the already existing node (and its subgraph) is removed from
899
+ * wherever it may be in the workspace before the incoming node is added.
900
+ * Note that this can result in nodes "disappearing" from locations in the
901
+ * workspace that are remote from the location to which the incoming
902
+ * subgraph is being written. <li>{@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}:
903
+ * If an incoming node has the same identifier as a node already existing in
904
+ * the workspace then the already existing node is replaced by the incoming
905
+ * node in the same position as the existing node. Note that this may result
906
+ * in the incoming subgraph being disaggregated and "spread around" to
907
+ * different locations in the workspace. In the most extreme case this
908
+ * behavior may result in no node at all being added as child of
909
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
910
+ * incoming XML has the same identifier as an existing node elsewhere in the
911
+ * workspace. <li>{@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If
912
+ * an incoming node has the same identifier as a node already existing in
913
+ * the workspace then a <code>SAXException</code> is thrown by the returned
914
+ * <code>ContentHandler</code> during deserialization. </ul> A
915
+ * <code>SAXException</code> will be thrown by the returned
916
+ * <code>ContentHandler</code> during deserialization if the top-most
917
+ * element of the incoming XML would deserialize to a node with the same
918
+ * name as an existing child of <code>parentAbsPath</code> and that child
919
+ * does not allow same-name siblings.
920
+ * <p>
921
+ * A <code>SAXException</code> will also be thrown by the returned
922
+ * <code>ContentHandler</code> during deserialization if
923
+ * <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code>
924
+ * and an incoming node has the same identifier as the node at
925
+ * <code>parentAbsPath</code> or one of its ancestors.
926
+ *
927
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
928
+ * @param parentAbsPath the absolute path of a node under which (as child) the imported subgraph will be built.
929
+ * @param uuidBehavior a four-value flag that governs how incoming identifiers are handled.
930
+ * @return an org.xml.sax.ContentHandler whose methods may be called to feed SAX events into the deserializer.
931
+ * @throws PathNotFoundException if no node exists at <code>parentAbsPath</code>.
932
+ * @throws ConstraintViolationException if the new subgraph cannot be added to the node at <code>parentAbsPath</code> due to node-type or other implementation-specific constraints, and this can be determined before the first SAX event is sent. Unlike {@link Session#getImportContentHandler}, this method also enforces node type constraints by throwing <code>SAXException</code>s during deserialization. However, which node type constraints are enforced depends upon whether node type information in the imported data is respected, and this is an implementation-specific issue.
933
+ * @throws VersionException if the node at <code>parentAbsPath</code> is read-only due to a checked-in node.
934
+ * @throws LockException if a lock prevents the addition of the subgraph.
935
+ * @throws AccessDeniedException if the session associated with this <code>Workspace</code> object does not have sufficient access to perform the import.
936
+ * @throws RepositoryException if another error occurs.
937
+ */
938
+ getImportContentHandler(parentAbsPath: string, uuidBehavior: number): unknown;
939
+
940
+ /**
941
+ * Deserializes an XML document and adds the resulting item subgraph as a
942
+ * child of the node at <code>parentAbsPath</code>.
943
+ * <p>
944
+ * If the incoming XML stream does not appear to be a JCR system view XML
945
+ * document then it is interpreted as a <b>document view</b> XML document.
946
+ * <p>
947
+ * The passed <code>InputStream</code> is closed before this method returns
948
+ * either normally or because of an exception.
949
+ * <p>
950
+ * Changes are made directly at the workspace level, without going through
951
+ * the <code>Session</code>. As a result, there is not need to call
952
+ * <code>save</code>. The advantage of this direct-to-workspace method is
953
+ * that a large import will not result in a large cache of pending nodes in
954
+ * the <code>Session</code>. The disadvantage is that invalid data cannot be
955
+ * imported, fixed and then saved. Instead, invalid data will cause this
956
+ * method to throw an <code>InvalidSerializedDataException</code>. See
957
+ * <code>Session.importXML</code> for a version of this method that
958
+ * <i>does</i> go through the <code>Session</code>.
959
+ * <p>
960
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
961
+ * incoming (deserialized) nodes are handled. There are four options: <ul>
962
+ * <li>{@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}: Incoming nodes are
963
+ * assigned newly created identifiers upon addition to the workspace. As a
964
+ * result identifier collisions never occur. <li>{@link
965
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}: If an incoming
966
+ * node has the same identifier as a node already existing in the workspace
967
+ * then the already existing node (and its subgraph) is removed from
968
+ * wherever it may be in the workspace before the incoming node is added.
969
+ * Note that this can result in nodes "disappearing" from locations in the
970
+ * workspace that are remote from the location to which the incoming
971
+ * subgraph is being written. If an incoming node has the same identifier as
972
+ * the existing root node of this workspace then <li>{@link
973
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}: If an
974
+ * incoming node has the same identifier as a node already existing in the
975
+ * workspace then the already existing node is replaced by the incoming node
976
+ * in the same position as the existing node. Note that this may result in
977
+ * the incoming subgraph being disaggregated and "spread around" to
978
+ * different locations in the workspace. In the most extreme edge case this
979
+ * behavior may result in no node at all being added as child of
980
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
981
+ * incoming XML has the same identifier as an existing node elsewhere in the
982
+ * workspace. <li>{@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If
983
+ * an incoming node has the same identifier as a node already existing in
984
+ * the workspace then an <code>ItemExistsException</code> is thrown. </ul>
985
+ * An <code>ItemExistsException</code> will be thrown if the top-most
986
+ * element of the incoming XML would deserialize to a node with the same
987
+ * name as an existing child of <code>parentAbsPath</code> and that child
988
+ * does not allow same-name siblings.
989
+ *
990
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
991
+ * @param parentAbsPath the absolute path of the node below which the deserialized subgraph is added.
992
+ * @param in The <code>Inputstream</code> from which the XML to be deserialized is read.
993
+ * @param uuidBehavior a four-value flag that governs how incoming identifiers are handled.
994
+ * @throws java.io.IOException if an error during an I/O operation occurs.
995
+ * @throws PathNotFoundException if no node exists at <code>parentAbsPath</code>.
996
+ * @throws ConstraintViolationException if node-type or other implementation-specific constraints prevent the addition of the subgraph or if <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code> and an incoming node has the same identifier as the node at <code>parentAbsPath</code> or one of its ancestors.
997
+ * @throws VersionException if the node at <code>parentAbsPath</code> is read-only due to a checked-in node..
998
+ * @throws InvalidSerializedDataException if incoming stream is not a valid XML document.
999
+ * @throws ItemExistsException if the top-most element of the incoming XML would deserialize to a node with the same name as an existing child of <code>parentAbsPath</code> and that child does not allow same-name siblings, or if a <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_THROW</code> and an identifier collision occurs.
1000
+ * @throws LockException if a lock prevents the addition of the subgraph.
1001
+ * @throws AccessDeniedException if the session associated with this <code>Workspace</code> object does not have sufficient access to perform the import.
1002
+ * @throws RepositoryException if another error occurs.
1003
+ */
1004
+ importXML(parentAbsPath: string, _in: unknown, uuidBehavior: number): void;
1005
+
1006
+ /**
1007
+ * Creates a new <code>Workspace</code> with the specified
1008
+ * <code>name</code>. The new workspace is empty, meaning it contains only
1009
+ * root node.
1010
+ * <p>
1011
+ * The new workspace can be accessed through a <code>login</code> specifying
1012
+ * its name.
1013
+ *
1014
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1015
+ * @param name A <code>String</code>, the name of the new workspace.
1016
+ * @throws AccessDeniedException if the session through which this <code>Workspace</code> object was acquired does not have permission to create the new workspace.
1017
+ * @throws UnsupportedRepositoryOperationException if the repository does not support the creation of workspaces.
1018
+ * @throws RepositoryException if another error occurs.
1019
+ * @since JCR 2.0
1020
+ */
1021
+ createWorkspace(name: string): void;
1022
+
1023
+ /**
1024
+ * Creates a new <code>Workspace</code> with the specified <code>name</code>
1025
+ * initialized with a <code>clone</code> of the content of the workspace
1026
+ * <code>srcWorkspace</code>. Semantically, this method is equivalent to
1027
+ * creating a new workspace and manually cloning <code>srcWorkspace</code>
1028
+ * to it; however, this method may assist some implementations in optimizing
1029
+ * subsequent <code>Node.update</code> and <code>Node.merge</code> calls
1030
+ * between the new workspace and its source.
1031
+ * <p>
1032
+ * The new workspace can be accessed through a <code>login</code> specifying
1033
+ * its name.
1034
+ *
1035
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1036
+ * @param name A <code>String</code>, the name of the new workspace.
1037
+ * @param srcWorkspace The name of the workspace from which the new workspace is to be cloned.
1038
+ * @throws AccessDeniedException if the session through which this <code>Workspace</code> object was acquired does not have sufficient access to create the new workspace.
1039
+ * @throws UnsupportedRepositoryOperationException if the repository does not support the creation of workspaces.
1040
+ * @throws NoSuchWorkspaceException is <code>srcWorkspace</code> does not exist.
1041
+ * @throws RepositoryException if another error occurs.
1042
+ * @since JCR 2.0
1043
+ */
1044
+ createWorkspace(name: string, srcWorkspace: string): void;
1045
+
1046
+ /**
1047
+ * Deletes the workspace with the specified <code>name</code> from the
1048
+ * repository, deleting all content within it.
1049
+ *
1050
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1051
+ * @param name A <code>String</code>, the name of the workspace to be deleted.
1052
+ * @throws AccessDeniedException if the session through which this <code>Workspace</code> object was acquired does not have sufficent access to remove the workspace.
1053
+ * @throws UnsupportedRepositoryOperationException if the repository does not support the removal of workspaces.
1054
+ * @throws NoSuchWorkspaceException is <code>srcWorkspace</code> does not exist.
1055
+ * @throws RepositoryException if another error occurs.
1056
+ * @since JCR 2.0
1057
+ */
1058
+ deleteWorkspace(name: string): void;
1059
+ }
1060
+
1061
+ export default Workspace;