@sitevision/api 1.0.20 → 1.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) 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/package.json +2 -4
  161. package/server/AliasUtil/index.d.ts +25 -0
  162. package/server/AliasUtil/index.js +10 -0
  163. package/server/ArchiveUtil/index.d.ts +65 -11
  164. package/server/ArraysInstance/index.d.ts +1846 -0
  165. package/server/ArticleUtil/index.d.ts +381 -69
  166. package/server/AuthenticationUtil/index.d.ts +106 -0
  167. package/server/BookmarkUtil/index.d.ts +36 -28
  168. package/server/BuddyIconRenderer/index.d.ts +240 -0
  169. package/server/ClientUtil/index.d.ts +18 -4
  170. package/server/CollaborationFactory/index.d.ts +42 -25
  171. package/server/CollaborationGroupFolderUtil/index.d.ts +40 -29
  172. package/server/CollaborationGroupTemplateUtil/index.d.ts +71 -39
  173. package/server/CollaborationGroupUtil/index.d.ts +128 -55
  174. package/server/CollectionsInstance/index.d.ts +738 -0
  175. package/server/ColorUtil/index.d.ts +22 -17
  176. package/server/CompoundAndFilterBuilder/index.d.ts +60 -0
  177. package/server/CompoundComparatorBuilder/index.d.ts +63 -0
  178. package/server/CompoundOrFilterBuilder/index.d.ts +59 -0
  179. package/server/ContentNodeUtil/index.d.ts +76 -0
  180. package/server/CurrencyFactory/index.d.ts +135 -0
  181. package/server/DateUtil/index.d.ts +154 -77
  182. package/server/DecorationUtil/index.d.ts +23 -0
  183. package/server/DeviceUtil/index.d.ts +36 -0
  184. package/server/DirectoryUtil/index.d.ts +107 -47
  185. package/server/DocTypeUtil/index.d.ts +149 -0
  186. package/server/EndecUtil/index.d.ts +537 -91
  187. package/server/ExtendedDismaxParserBuilder/index.d.ts +311 -0
  188. package/server/FileIconRenderer/index.d.ts +346 -0
  189. package/server/FileUtil/index.d.ts +462 -0
  190. package/server/FilterBuilder/index.d.ts +120 -0
  191. package/server/FolderUtil/index.d.ts +161 -0
  192. package/server/FontUtil/index.d.ts +49 -0
  193. package/server/FormatterBuilderFactory/index.d.ts +129 -0
  194. package/server/HighlightBuilder/index.d.ts +194 -0
  195. package/server/IconUtil/index.d.ts +37 -0
  196. package/server/ImageLinkRenderer/index.d.ts +134 -0
  197. package/server/ImageRenderer/index.d.ts +613 -231
  198. package/server/ImageUtil/index.d.ts +430 -0
  199. package/server/IndexUtil/index.d.ts +71 -0
  200. package/server/IndexingUtil/index.d.ts +92 -0
  201. package/server/InstanceCreatorUtil/index.d.ts +661 -0
  202. package/server/InstanceTypeUtil/index.d.ts +202 -0
  203. package/server/JwtUtil/index.d.ts +217 -0
  204. package/server/LandingPageUtil/index.d.ts +67 -50
  205. package/server/LinkPageUtil/index.d.ts +468 -0
  206. package/server/LinkRenderer/index.d.ts +1157 -0
  207. package/server/LinkTargetBuilder/index.d.ts +146 -0
  208. package/server/LinkValueBuilder/index.d.ts +129 -52
  209. package/server/ListWrapper/index.d.ts +172 -0
  210. package/server/LocaleUtil/index.d.ts +695 -61
  211. package/server/LogUtil/index.d.ts +118 -77
  212. package/server/MailBuilder/index.d.ts +238 -0
  213. package/server/MailUtil/index.d.ts +98 -0
  214. package/server/MathInstance/index.d.ts +681 -0
  215. package/server/MessageDigesterFactory/index.d.ts +49 -0
  216. package/server/MetadataDefinitionUtil/index.d.ts +118 -0
  217. package/server/MetadataUtil/index.d.ts +524 -79
  218. package/server/MimeTypeUtil/index.d.ts +316 -0
  219. package/server/MonitorBuilder/index.d.ts +51 -0
  220. package/server/NodeComparatorUtil/index.d.ts +397 -0
  221. package/server/NodeFactoryUtil/index.d.ts +32 -0
  222. package/server/NodeFilterUtil/index.d.ts +924 -0
  223. package/server/NodeIteratorUtil/index.d.ts +322 -72
  224. package/server/NodeResolverUtil/index.d.ts +767 -0
  225. package/server/NodeTreeUtil/index.d.ts +339 -63
  226. package/server/NodeTypeUtil/index.d.ts +391 -197
  227. package/server/OfflineVersionPropertyUtil/index.d.ts +30 -0
  228. package/server/OnlineVersionPropertyUtil/index.d.ts +30 -0
  229. package/server/OutputUtil/index.d.ts +641 -0
  230. package/server/PageUtil/index.d.ts +330 -0
  231. package/server/PermissionUtil/index.d.ts +650 -0
  232. package/server/PortletContextUtil/index.d.ts +118 -37
  233. package/server/PortletContextUtil/index.js +1 -0
  234. package/server/PortletUtil/index.d.ts +40 -0
  235. package/server/PrincipalUtil/index.d.ts +51 -0
  236. package/server/Properties/index.d.ts +185 -38
  237. package/server/PropertyUtil/index.d.ts +2330 -406
  238. package/server/PublishingUtil/index.d.ts +385 -49
  239. package/server/QueryStringUtil/index.d.ts +737 -0
  240. package/server/RedirectUtil/index.d.ts +98 -0
  241. package/server/RelatedValueBuilder/index.d.ts +81 -39
  242. package/server/Requester/index.d.ts +441 -65
  243. package/server/ResourceLocatorUtil/index.d.ts +483 -227
  244. package/server/RestApi/index.d.ts +208 -23
  245. package/server/RestAppInvokerFactory/index.d.ts +73 -0
  246. package/server/RoleAssignmentBuilder/index.d.ts +60 -0
  247. package/server/RoleMatcherBuilder/index.d.ts +59 -0
  248. package/server/RoleUtil/index.d.ts +57 -0
  249. package/server/ScriptUtil/index.d.ts +625 -143
  250. package/server/SearchFactory/index.d.ts +133 -0
  251. package/server/SearchUtil/index.d.ts +164 -0
  252. package/server/SearcherBuilder/index.d.ts +260 -0
  253. package/server/Session/index.d.ts +1758 -0
  254. package/server/SimpleUserUtil/index.d.ts +39 -30
  255. package/server/SiteCookieUtil/index.d.ts +78 -53
  256. package/server/SortBuilder/index.d.ts +111 -0
  257. package/server/SpellCheckBuilder/index.d.ts +68 -0
  258. package/server/StandardParserBuilder/index.d.ts +112 -0
  259. package/server/StructureUtil/index.d.ts +167 -0
  260. package/server/SubscriberUtil/index.d.ts +122 -0
  261. package/server/SubscriptionUtil/index.d.ts +197 -0
  262. package/server/SystemUserUtil/index.d.ts +201 -98
  263. package/server/TagUtil/index.d.ts +193 -0
  264. package/server/TemplateUtil/index.d.ts +217 -0
  265. package/server/TemporaryFileNodeBuilder/index.d.ts +63 -0
  266. package/server/TemporaryNodeBuilder/index.d.ts +241 -0
  267. package/server/TextModuleRendererBuilder/index.d.ts +68 -0
  268. package/server/TimestampUtil/index.d.ts +98 -82
  269. package/server/TranslationUtil/index.d.ts +175 -0
  270. package/server/TrashcanUtil/index.d.ts +193 -24
  271. package/server/UserDataUtil/index.d.ts +167 -85
  272. package/server/UserFactory/index.d.ts +45 -30
  273. package/server/UserFieldRenderer/index.d.ts +258 -0
  274. package/server/UserIdentityUtil/index.d.ts +61 -29
  275. package/server/UserUtil/index.d.ts +69 -28
  276. package/server/Utils/index.d.ts +870 -12
  277. package/server/VelocityRenderer/index.d.ts +248 -0
  278. package/server/VersionUtil/index.d.ts +15 -12
  279. package/server/WebContentUtil/index.d.ts +644 -0
  280. package/server/WebResourceFactory/index.d.ts +66 -0
  281. package/server/XSLTUtil/index.d.ts +49 -10
  282. package/server/XmlParserUtil/index.d.ts +82 -81
  283. package/builtins/Binary/index.d.ts +0 -3
  284. package/builtins/Calendar/index.d.ts +0 -3
  285. package/builtins/Collection/index.d.ts +0 -3
  286. package/builtins/Date/index.d.ts +0 -3
  287. package/builtins/InputStream/index.d.ts +0 -3
  288. package/builtins/Instant/index.d.ts +0 -3
  289. package/builtins/List/index.d.ts +0 -3
  290. package/builtins/LocalDateTime/index.d.ts +0 -3
  291. package/builtins/Locale/index.d.ts +0 -3
  292. package/builtins/Node/index.d.ts +0 -3
  293. package/builtins/NodeIterator/index.d.ts +0 -27
  294. package/builtins/Property/index.d.ts +0 -3
  295. package/builtins/Serializable/index.d.ts +0 -3
  296. package/builtins/Set/index.d.ts +0 -3
  297. package/builtins/Throwable/index.d.ts +0 -3
  298. package/builtins/byte/index.d.ts +0 -3
@@ -0,0 +1,1758 @@
1
+ import Repository from "../../hidden/javax/jcr/Repository";
2
+ import Workspace from "../../hidden/javax/jcr/Workspace";
3
+ import Node from "../../hidden/javax/jcr/Node";
4
+ import Credentials from "../../hidden/javax/jcr/Credentials";
5
+ import Item from "../../hidden/javax/jcr/Item";
6
+ import Property from "../../hidden/javax/jcr/Property";
7
+ import ValueFactory from "../../hidden/javax/jcr/ValueFactory";
8
+ import AccessControlManager from "../../hidden/javax/jcr/security/AccessControlManager";
9
+ import RetentionManager from "../../hidden/javax/jcr/retention/RetentionManager";
10
+
11
+ /**
12
+ * Returns the <code>Repository</code> object through which this session was
13
+ * acquired.
14
+ * @return a <code>{@link Repository}</code> object.
15
+ */
16
+ export function getRepository(): Repository;
17
+
18
+ /**
19
+ * Gets the user ID associated with this <code>Session</code>. How the user
20
+ * ID is set is up to the implementation, it may be a string passed in as
21
+ * part of the credentials or it may be a string acquired in some other way.
22
+ * This method is free to return an "anonymous user ID" or
23
+ * <code>null</code>.
24
+ * @return the user ID associated with this <code>Session</code>.
25
+ */
26
+ export function getUserID(): string;
27
+
28
+ /**
29
+ * Returns the names of the attributes set in this session as a result of
30
+ * the <code>Credentials</code> that were used to acquire it. Not all
31
+ * <code>Credentials</code> implementations will contain attributes (though,
32
+ * for example, <code>SimpleCredentials</code> does allow for them). This
33
+ * method returns an empty array if the <code>Credentials</code> instance
34
+ * did not provide attributes.
35
+ * @return A string array containing the names of all attributes passed in the credentials used to acquire this session.
36
+ */
37
+ export function getAttributeNames(): string;
38
+
39
+ /**
40
+ * Returns the value of the named attribute as an <code>Object</code>, or
41
+ * <code>null</code> if no attribute of the given name exists. See {@link
42
+ * Session#getAttributeNames}.
43
+ * @param name the name of an attribute passed in the credentials used to acquire this session.
44
+ * @return the value of the attribute or <code>null</code> if no attribute of the given name exists.
45
+ */
46
+ export function getAttribute(name: string): unknown;
47
+
48
+ /**
49
+ * Returns the <code>Workspace</code> attached to this
50
+ * <code>Session</code>.
51
+ * @return a <code>{@link Workspace}</code> object.
52
+ */
53
+ export function getWorkspace(): Workspace;
54
+
55
+ /**
56
+ * Returns the root node of the workspace, "/". This node is the main access
57
+ * point to the content of the workspace.
58
+ * @return The root node of the workspace: a <code>{@link Node}</code> object.
59
+ * @throws RepositoryException if an error occurs.
60
+ */
61
+ export function getRootNode(): Node;
62
+
63
+ /**
64
+ * Returns a new session in accordance with the specified (new) Credentials.
65
+ * Allows the current user to "impersonate" another using incomplete or
66
+ * relaxed credentials requirements (perhaps including a user name but no
67
+ * password, for example), assuming that this <code>Session</code> gives
68
+ * them that permission.
69
+ * <p>
70
+ * The new <code>Session</code> is tied to a new <code>Workspace</code>
71
+ * instance. In other words, <code>Workspace</code> instances are not
72
+ * re-used. However, the <code>Workspace</code> instance returned represents
73
+ * the same actual persistent workspace entity in the repository as is
74
+ * represented by the <code>Workspace</code> object tied to this
75
+ * <code>Session</code>.
76
+ * @param credentials A <code>Credentials</code> object
77
+ * @return a <code>Session</code> object
78
+ * @throws LoginException if the current session does not have sufficient access to perform the operation.
79
+ * @throws RepositoryException if another error occurs.
80
+ */
81
+ export function impersonate(credentials: Credentials): Session;
82
+
83
+ /**
84
+ * Returns the node specified by the given UUID. Only applies to nodes that
85
+ * expose a UUID, in other words, those of mixin node type
86
+ * <code>mix:referenceable</code>
87
+ *
88
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
89
+ * @param uuid A universally unique identifier.
90
+ * @return A <code>Node</code>.
91
+ * @throws ItemNotFoundException if the specified UUID is not found.
92
+ * @throws RepositoryException if another error occurs.
93
+ * @deprecated As of JCR 2.0, {@link #getNodeByIdentifier(String)} should be used instead.
94
+ */
95
+ export function getNodeByUUID(uuid: string): Node;
96
+
97
+ /**
98
+ * Returns the node specified by the given identifier. Applies to both
99
+ * referenceable and non-referenceable nodes.
100
+ * @param id An identifier.
101
+ * @return A <code>Node</code>.
102
+ * @throws ItemNotFoundException if no node with the specified identifier exists or if this <code>Session</code> does not have read access to the node with the specified identifier.
103
+ * @throws RepositoryException if another error occurs.
104
+ * @since JCR 2.0
105
+ */
106
+ export function getNodeByIdentifier(id: string): Node;
107
+
108
+ /**
109
+ * Returns the node at the specified absolute path in the workspace. If no
110
+ * such node exists, then it returns the property at the specified path.
111
+ * <p>
112
+ * This method should only be used if the application does not know whether
113
+ * the item at the indicated path is property or node. In cases where the
114
+ * application has this information, either {@link #getNode} or {@link
115
+ * #getProperty} should be used, as appropriate. In many repository
116
+ * implementations the node and property-specific methods are likely to be
117
+ * more efficient than <code>getItem</code>.
118
+ * @param absPath An absolute path.
119
+ * @return the specified <code>Item</code>.
120
+ * @throws PathNotFoundException if no accessible item is found at the specified path.
121
+ * @throws RepositoryException if another error occurs.
122
+ */
123
+ export function getItem(absPath: string): Item;
124
+
125
+ /**
126
+ * Returns the node at the specified absolute path in the workspace.
127
+ * @param absPath An absolute path.
128
+ * @return the specified <code>Node</code>.
129
+ * @throws PathNotFoundException If no accessible node is found at the specifed path.
130
+ * @throws RepositoryException If another error occurs.
131
+ * @since JCR 2.0
132
+ */
133
+ export function getNode(absPath: string): Node;
134
+
135
+ /**
136
+ * Returns the property at the specified absolute path in the workspace.
137
+ * @param absPath An absolute path.
138
+ * @return the specified <code>Property</code>.
139
+ * @throws PathNotFoundException If no accessible property is found at the specified path.
140
+ * @throws RepositoryException if another error occurs.
141
+ * @since JCR 2.0
142
+ */
143
+ export function getProperty(absPath: string): Property;
144
+
145
+ /**
146
+ * Returns <code>true</code> if an item exists at <code>absPath</code> and
147
+ * this <code>Session</code> has read access to it; otherwise returns
148
+ * <code>false</code>.
149
+ * @param absPath An absolute path.
150
+ * @return a <code>boolean</code>
151
+ * @throws RepositoryException if <code>absPath</code> is not a well-formed absolute path.
152
+ */
153
+ export function itemExists(absPath: string): boolean;
154
+
155
+ /**
156
+ * Returns <code>true</code> if a node exists at <code>absPath</code> and
157
+ * this <code>Session</code> has read access to it; otherwise returns
158
+ * <code>false</code>.
159
+ * @param absPath An absolute path.
160
+ * @return a <code>boolean</code>
161
+ * @throws RepositoryException if <code>absPath</code> is not a well-formed absolute path.
162
+ * @since JCR 2.0
163
+ */
164
+ export function nodeExists(absPath: string): boolean;
165
+
166
+ /**
167
+ * Returns <code>true</code> if a property exists at <code>absPath</code>
168
+ * and this <code>Session</code> has read access to it; otherwise returns
169
+ * <code>false</code>.
170
+ * @param absPath An absolute path.
171
+ * @return a <code>boolean</code>
172
+ * @throws RepositoryException if <code>absPath</code> is not a well-formed absolute path.
173
+ * @since JCR 2.0
174
+ */
175
+ export function propertyExists(absPath: string): boolean;
176
+
177
+ /**
178
+ * Moves the node at <code>srcAbsPath</code> (and its entire subgraph) to
179
+ * the new location at <code>destAbsPath</code>.
180
+ * <p>
181
+ * This is a session-write method and therefor requires a <code>save</code>
182
+ * to dispatch the change.
183
+ * <p>
184
+ * The identifiers of referenceable nodes <i>must not</i> be changed by a
185
+ * <code>move</code>. The identifiers of non-referenceable nodes <i>may</i>
186
+ * change.
187
+ * <p>
188
+ * A <code>ConstraintViolationException</code> is thrown either immediately,
189
+ * on dispatch or on persist, if performing this operation would violate a
190
+ * node type or implementation-specific constraint. Implementations may
191
+ * differ on when this validation is performed.
192
+ * <p>
193
+ * As well, a <code>ConstraintViolationException</code> will be thrown on
194
+ * persist if an attempt is made to separately <code>save</code> either the
195
+ * source or destination node.
196
+ * <p>
197
+ * Note that this behavior differs from that of {@link Workspace#move},
198
+ * which is a workspace-write method and therefore immediately dispatches
199
+ * changes.
200
+ * <p>
201
+ * The <code>destAbsPath</code> provided must not have an index on its final
202
+ * element. If ordering is supported by the node type of the parent node of
203
+ * the new location, then the newly moved node is appended to the end of the
204
+ * child node list.
205
+ * <p>
206
+ * This method cannot be used to move an individual property by itself. It
207
+ * moves an entire node and its subgraph.
208
+ * <p>
209
+ * If no node exists at <code>srcAbsPath</code> or no node exists one level
210
+ * above <code>destAbsPath</code> (in other words, there is no node that
211
+ * will serve as the parent of the moved item) then a
212
+ * <code>PathNotFoundException</code> is thrown either immediately, on
213
+ * dispatch or on persist. Implementations may differ on when this
214
+ * validation is performed.
215
+ * <p>
216
+ * An <code>ItemExistsException</code> is thrown either immediately, on
217
+ * dispatch or on persist, if a node already exists at
218
+ * <code>destAbsPath</code> and same-name siblings are not allowed.
219
+ * Implementations may differ on when this validation is performed.
220
+ * <p>
221
+ * Note that if a property already exists at <code>destAbsPath</code>, the
222
+ * operation succeeds, since a node may have a child node and property with
223
+ * the same name.
224
+ * <p>
225
+ * A <code>VersionException</code> is thrown either immediately, on dispatch
226
+ * or on persist, if the parent node of <code>destAbsPath</code> or the
227
+ * parent node of <code>srcAbsPath</code> is read-only due to a checked-in node.
228
+ * Implementations may differ on when this validation is performed.
229
+ * <p>
230
+ * A <code>LockException</code> is thrown either immediately, on dispatch or
231
+ * on persist, if a lock prevents the <code>move</code>. Implementations may
232
+ * differ on when this validation is performed.
233
+ *
234
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
235
+ * @param srcAbsPath the root of the subgraph to be moved.
236
+ * @param destAbsPath the location to which the subgraph is to be moved.
237
+ * @throws ItemExistsException if a node already exists at <code>destAbsPath</code> and same-name siblings are not allowed.
238
+ * @throws PathNotFoundException if either <code>srcAbsPath</code> or <code>destAbsPath</code> cannot be found and this implementation performs this validation immediately.
239
+ * @throws VersionException if the parent node of <code>destAbsPath</code> or the parent node of <code>srcAbsPath</code> is versionable and checked-in, or or is non-versionable and its nearest versionable ancestor is checked-in and this implementation performs this validation immediately.
240
+ * @throws ConstraintViolationException if a node-type or other constraint violation is detected immediately and this implementation performs this validation immediately.
241
+ * @throws LockException if the move operation would violate a lock and this implementation performs this validation immediately.
242
+ * @throws RepositoryException if the last element of <code>destAbsPath</code> has an index or if another error occurs.
243
+ */
244
+ export function move(srcAbsPath: string, destAbsPath: string): void;
245
+
246
+ /**
247
+ * Removes the specified item and its subgraph.
248
+ * <p>
249
+ * This is a session-write method and therefore requires a <code>save</code>
250
+ * in order to dispatch the change.
251
+ * <p>
252
+ * If a node with same-name siblings is removed, this decrements by one the
253
+ * indices of all the siblings with indices greater than that of the removed
254
+ * node. In other words, a removal compacts the array of same-name siblings
255
+ * and causes the minimal re-numbering required to maintain the original
256
+ * order but leave no gaps in the numbering.
257
+ * <p>
258
+ * A <code>ReferentialIntegrityException</code> will be thrown on dispatch
259
+ * if the specified item or an item in its subgraph is currently the target
260
+ * of a <code>REFERENCE</code> property located in this workspace but
261
+ * outside the specified item's subgraph and the current
262
+ * <code>Session</code> has read access to that <code>REFERENCE</code>
263
+ * property.
264
+ * <p>
265
+ * A <code>ConstraintViolationException</code> will be thrown either
266
+ * immediately, on dispatch or on persist, if removing the specified item
267
+ * would violate a node type or implementation-specific constraint.
268
+ * Implementations may differ on when this validation is performed.
269
+ * <p>
270
+ * A <code>VersionException</code> will be thrown either immediately, on
271
+ * dispatch or on persist, if the parent node of the specified item is
272
+ * read-only due to a checked-in node. Implementations may differ on when
273
+ * this validation is performed.
274
+ * <p>
275
+ * A <code>LockException</code> will be thrown either immediately, on
276
+ * dispatch or on persist, if a lock prevents the removal of the specified
277
+ * item. Implementations may differ on when this validation is performed.
278
+ * <p>
279
+ * A <code>PathNotFoundException</code> will be thrown either immediately,
280
+ * on dispatch or on persist, if no accessible item is found at at
281
+ * <code>absPath</code>.
282
+ * <p>
283
+ * A <code>AccessDeniedException</code> will be thrown either immediately,
284
+ * on dispatch or on persist, if the specified item or an item in its
285
+ * subgraph is currently the target of a <code>REFERENCE</code> property
286
+ * located in this workspace but outside the specified item's subgraph and
287
+ * the current <code>Session</code> <i>does not</i> have read access to that
288
+ * <code>REFERENCE</code> property.
289
+ *
290
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
291
+ * @param absPath the absolute path of the item to be removed.
292
+ * @throws VersionException if the parent node of the item at absPath is read-only due to a checked-in node and this implementation performs this validation immediately.
293
+ * @throws LockException if a lock prevents the removal of the specified item and this implementation performs this validation immediately.
294
+ * @throws ConstraintViolationException if removing the specified item would violate a node type or implementation-specific constraint and this implementation performs this validation immediately.
295
+ * @throws PathNotFoundException if no accessible item is found at <code>absPath</code> and this implementation performs this validation immediately.
296
+ * @throws AccessDeniedException if the specified item or an item in its subgraph is currently the target of a <code>REFERENCE</code> property located in this workspace but outside the specified item's subgraph and the current <code>Session</code> <i>does not</i> have read access to that <code>REFERENCE</code> property and this implementation performs this validation immediately.
297
+ * @throws RepositoryException if another error occurs.
298
+ * @see Item#remove()
299
+ * @since JCR 2.0
300
+ */
301
+ export function removeItem(absPath: string): void;
302
+
303
+ /**
304
+ * Validates all pending changes currently recorded in this
305
+ * <code>Session</code>. If validation of <i>all</i> pending changes
306
+ * succeeds, then this change information is cleared from the
307
+ * <code>Session</code>.
308
+ * <p>
309
+ * If the <code>save</code> occurs outside a transaction, the changes are
310
+ * <i>dispatched</i> and <i>persisted</i>. Upon being persisted the changes
311
+ * become potentially visible to other <code>Sessions</code> bound to the
312
+ * same persitent workspace.
313
+ * <p>
314
+ * If the <code>save</code> occurs within a transaction, the changes are
315
+ * <i>dispatched</i> but are not <i>persisted</i> until the transaction is
316
+ * committed.
317
+ * <p>
318
+ * If validation fails, then no pending changes are dispatched and they
319
+ * remain recorded on the <code>Session</code>. There is no best-effort or
320
+ * partial <code>save</code>.
321
+ *
322
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
323
+ * @throws AccessDeniedException if any of the changes to be persisted would violate the access privileges of the this <code>Session</code>. Also thrown if any of the changes to be persisted would cause the removal of a node that is currently referenced by a <code>REFERENCE</code> property that this Session <i>does not</i> have read access to.
324
+ * @throws ItemExistsException if any of the changes to be persisted would be prevented by the presence of an already existing item in the workspace.
325
+ * @throws ConstraintViolationException if any of the changes to be persisted would violate a node type or restriction. Additionally, a repository may use this exception to enforce implementation- or configuration-dependent restrictions.
326
+ * @throws InvalidItemStateException if any of the changes to be persisted conflicts with a change already persisted through another session and the implementation is such that this conflict can only be detected at <code>save</code>-time and therefore was not detected earlier, at change-time.
327
+ * @throws ReferentialIntegrityException if any of the changes to be persisted would cause the removal of a node that is currently referenced by a <code>REFERENCE</code> property that this <code>Session</code> has read access to.
328
+ * @throws VersionException if the <code>save</code> would make a result in a change to persistent storage that would violate the read-only status of a checked-in node.
329
+ * @throws LockException if the <code>save</code> would result in a change to persistent storage that would violate a lock.
330
+ * @throws NoSuchNodeTypeException if the <code>save</code> would result in the addition of a node with an unrecognized node type.
331
+ * @throws RepositoryException if another error occurs.
332
+ */
333
+ export function save(): void;
334
+
335
+ /**
336
+ * If <code>keepChanges</code> is <code>false</code>, this method discards
337
+ * all pending changes currently recorded in this <code>Session</code> and
338
+ * returns all items to reflect the current saved state. Outside a
339
+ * transaction this state is simply the current state of persistent storage.
340
+ * Within a transaction, this state will reflect persistent storage as
341
+ * modified by changes that have been saved but not yet committed.
342
+ * <p>
343
+ * If <code>keepChanges</code> is true then pending change are not discarded
344
+ * but items that do not have changes pending have their state refreshed to
345
+ * reflect the current saved state, thus revealing changes made by other
346
+ * sessions.
347
+ *
348
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
349
+ * @param keepChanges a boolean
350
+ * @throws RepositoryException if an error occurs.
351
+ */
352
+ export function refresh(keepChanges: boolean): void;
353
+
354
+ /**
355
+ * Returns <code>true</code> if this session holds pending (that is,
356
+ * unsaved) changes; otherwise returns <code>false</code>.
357
+ *
358
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
359
+ * @return a boolean
360
+ * @throws RepositoryException if an error occurs
361
+ */
362
+ export function hasPendingChanges(): boolean;
363
+
364
+ /**
365
+ * This method returns a <code>ValueFactory</code> that is used to create
366
+ * <code>Value</code> objects for use when setting repository properties.
367
+ * @since Sitevision 3.0
368
+ * @return a <code>ValueFactory</code>
369
+ * @throws UnsupportedRepositoryOperationException if writing to the repository is not supported.
370
+ * @throws RepositoryException if another error occurs.
371
+ */
372
+ export function getValueFactory(): ValueFactory;
373
+
374
+ /**
375
+ * Returns <code>true</code> if this <code>Session</code> has permission to
376
+ * perform the specified actions at the specified <code>absPath</code> and
377
+ * <code>false</code> otherwise.
378
+ * <p>
379
+ * The <code>actions</code> parameter is a comma separated list of action
380
+ * strings. The following action strings are defined: <ul> <li> {@link
381
+ * #ACTION_ADD_NODE add_node}: If <code>hasPermission(path,
382
+ * "add_node")</code> returns <code>true</code>, then this
383
+ * <code>Session</code> has permission to add a node at <code>path</code>.
384
+ * </li> <li> {@link #ACTION_SET_PROPERTY set_property}: If
385
+ * <code>hasPermission(path, "set_property")</code> returns
386
+ * <code>true</code>, then this <code>Session</code> has permission to set
387
+ * (add or change) a property at <code>path</code>. </li> <li> {@link
388
+ * #ACTION_REMOVE remove}: If <code>hasPermission(path,
389
+ * "remove")</code> returns <code>true</code>, then this
390
+ * <code>Session</code> has permission to remove an item at
391
+ * <code>path</code>. </li> <li> {@link #ACTION_READ read}: If
392
+ * <code>hasPermission(path, "read")</code> returns <code>true</code>, then
393
+ * this <code>Session</code> has permission to retrieve (and read the value
394
+ * of, in the case of a property) an item at <code>path</code>. </li> </ul>
395
+ * When more than one action is specified in the <code>actions</code>
396
+ * parameter, this method will only return <code>true</code> if this
397
+ * <code>Session</code> has permission to perform <i>all</i> of the listed
398
+ * actions at the specified path.
399
+ * <p>
400
+ * The information returned through this method will only reflect the access
401
+ * control status (both JCR defined and implementation-specific) and not
402
+ * other restrictions that may exist, such as node type constraints. For
403
+ * example, even though <code>hasPermission</code> may indicate that a
404
+ * particular <code>Session</code> may add a property at
405
+ * <code>/A/B/C</code>, the node type of the node at <code>/A/B</code> may
406
+ * prevent the addition of a property called <code>C</code>.
407
+ *
408
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
409
+ * @param absPath an absolute path.
410
+ * @param actions a comma separated list of action strings.
411
+ * @return <code>true</code> if this <code>Session</code> has permission to perform the specified actions at the specified <code>absPath</code>.
412
+ * @throws RepositoryException if an error occurs.
413
+ * @since JCR 2.0
414
+ */
415
+ export function hasPermission(absPath: string, actions: string): boolean;
416
+
417
+ /**
418
+ * Determines whether this <code>Session</code> has permission to perform
419
+ * the specified actions at the specified <code>absPath</code>. This method
420
+ * quietly returns if the access request is permitted, or throws a suitable
421
+ * <code>java.security.AccessControlException</code> otherwise.
422
+ * <p>
423
+ * The <code>actions</code> parameter is a comma separated list of action
424
+ * strings. The following action strings are defined: <ul> <li> {@link
425
+ * #ACTION_ADD_NODE add_node}: If <code>checkPermission(path,
426
+ * "add_node")</code> returns quietly, then this <code>Session</code> has
427
+ * permission to add a node at <code>path</code>, otherwise permission is
428
+ * denied. </li> <li> {@link #ACTION_SET_PROPERTY set_property}:
429
+ * If <code>checkPermission(path, "set_property")</code> returns quietly,
430
+ * then this <code>Session</code> has permission to set (add or change) a
431
+ * property at <code>path</code>, otherwise permission is denied. </li> <li>
432
+ * {@link #ACTION_REMOVE remove}: If <code>checkPermission(path,
433
+ * "remove")</code> returns quietly, then this <code>Session</code> has
434
+ * permission to remove an item at <code>path</code>, otherwise permission
435
+ * is denied. </li> <li> {@link #ACTION_READ read}: If
436
+ * <code>checkPermission(path, "read")</code> returns quietly, then this
437
+ * <code>Session</code> has permission to retrieve (and read the value of,
438
+ * in the case of a property) an item at <code>path</code>, otherwise
439
+ * permission is denied. </li> </ul> When more than one action is specified
440
+ * in the <code>actions</code> parameter, this method will only return
441
+ * quietly if this <code>Session</code> has permission to perform <i>all</i>
442
+ * of the listed actions at the specified path.
443
+ * <p>
444
+ * The information returned through this method will only reflect access
445
+ * control status (both JCR defined and implementation-specific) and not
446
+ * other restrictions that may exist, such as node type constraints. For
447
+ * example, even though <code>checkPermission</code> may indicate that a
448
+ * particular <code>Session</code> may add a property at
449
+ * <code>/A/B/C</code>, the node type of the node at <code>/A/B</code> may
450
+ * prevent the addition of a property called <code>C</code>.
451
+ *
452
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
453
+ * @param absPath an absolute path.
454
+ * @param actions a comma separated list of action strings.
455
+ * @throws java.security.AccessControlException If permission is denied.
456
+ * @throws RepositoryException if another error occurs.
457
+ */
458
+ export function checkPermission(absPath: string, actions: string): void;
459
+
460
+ /**
461
+ * Checks whether an operation can be performed given as much context as can
462
+ * be determined by the repository, including: <ul> <li> Permissions granted
463
+ * to the current user, including access control privileges. </li> <li>
464
+ * Current state of the target object (reflecting locks, checkin/checkout
465
+ * status, retention and hold status etc.). </li> <li> Repository
466
+ * capabilities. </li> <li> Node type-enforced restrictions. </li> <li>
467
+ * Repository configuration-specific restrictions. </li> </ul> The
468
+ * implementation of this method is best effort: returning
469
+ * <code>false</code> guarantees that the operation cannot be performed, but
470
+ * returning <code>true</code> does not guarantee the opposite. The
471
+ * repository implementation should use this to give priority to performance
472
+ * over completeness. An exception should be thrown only for important
473
+ * failures such as loss of connectivity to the back-end.
474
+ * <p>
475
+ * The implementation of this method is best effort: returning false
476
+ * guarantees that the operation cannot be performed, but returning true
477
+ * does not guarantee the opposite.
478
+ * <p>
479
+ * The <code>methodName</code> parameter identifies the method in question
480
+ * by its name as defined in the Javadoc.
481
+ * <p>
482
+ * The <code>target</code> parameter identifies the object on which the
483
+ * specified method is called.
484
+ * <p>
485
+ * The <code>arguments</code> parameter contains an array of type
486
+ * <code>Object</code> object consisting of the arguments to be passed
487
+ * to the method in question. In cases where a parameter is a Java
488
+ * primitive type it must be converted to its corresponding Java object form.
489
+ * <p>
490
+ * For example, given a <code>Session</code> <code>S</code> and
491
+ * <code>Node</code> <code>N</code> then
492
+ * <p>
493
+ * <code>boolean b = S.hasCapability("addNode", N, new Object[]{"foo"});</code>
494
+ * <p>
495
+ * will result in <code>b == false</code> if a child node called <code>foo</code> cannot be added to
496
+ * the node <code>N</code> within the session <code>S</code>.
497
+ *
498
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
499
+ * @param methodName the nakme of the method.
500
+ * @param target the target object of the operation.
501
+ * @param arguments the arguments of the operation.
502
+ * @return <code>false</code> if the operation cannot be performed, <code>true</code> if the operation can be performed or if the repository cannot determine whether the operation can be performed.
503
+ * @throws RepositoryException if an error occurs
504
+ * @since JCR 2.0
505
+ */
506
+ export function hasCapability(
507
+ methodName: string,
508
+ target: unknown,
509
+ arguments: unknown
510
+ ): boolean;
511
+
512
+ /**
513
+ * Returns an <code>org.xml.sax.ContentHandler</code> which is used to push
514
+ * SAX events to the repository. If the incoming XML (in the form of SAX
515
+ * events) does not appear to be a JCR <i>system view</i> XML document then
516
+ * it is interpreted as a JCR <i>document view</i> XML document.
517
+ * <p>
518
+ * The incoming XML is deserialized into a subgraph of items immediately
519
+ * below the node at <code>parentAbsPath</code>.
520
+ * <p>
521
+ * This method simply returns the <code>ContentHandler</code> without
522
+ * altering the state of the session; the actual deserialization to the
523
+ * session transient space is done through the methods of the
524
+ * <code>ContentHandler</code>. Invalid XML data will cause the
525
+ * <code>ContentHandler</code> to throw a <code>SAXException</code>.
526
+ * <p>
527
+ * As SAX events are fed into the <code>ContentHandler</code>, the tree of
528
+ * new items is built in the transient storage of the session. In order to
529
+ * dispatch the new content, <code>save</code> must be called. See {@link
530
+ * Workspace#getImportContentHandler} for a workspace-write version of this
531
+ * method.
532
+ * <p>
533
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
534
+ * incoming nodes are handled: <ul> <li> {@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}:
535
+ * Incoming identifiers nodes are added in the same way that new node is
536
+ * added with <code>Node.addNode</code>. That is, they are either assigned
537
+ * newly created identifiers upon addition or upon <code>save</code>
538
+ * (depending on the implementation). In either case, identifier collisions
539
+ * will not occur. </li> <li> {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}:
540
+ * If an incoming node has the same identifier as a node already existing in
541
+ * the workspace then the already existing node (and its subgraph) is
542
+ * removed from wherever it may be in the workspace before the incoming node
543
+ * is added. Note that this can result in nodes "disappearing" from
544
+ * locations in the workspace that are remote from the location to which the
545
+ * incoming subgraph is being written. Both the removal and the new addition
546
+ * will be persisted on <code>save</code>. </li> <li> {@link
547
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}: If an
548
+ * incoming node has the same identifier as a node already existing in the
549
+ * workspace, then the already-existing node is replaced by the incoming
550
+ * node in the same position as the existing node. Note that this may result
551
+ * in the incoming subgraph being disaggregated and "spread around" to
552
+ * different locations in the workspace. In the most extreme case this
553
+ * behavior may result in no node at all being added as child of
554
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
555
+ * incoming XML has the same identifier as an existing node elsewhere in the
556
+ * workspace. The change will be persisted on <code>save</code>. </li> <li>
557
+ * {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If an incoming
558
+ * node has the same identifier as a node already existing in the workspace
559
+ * then a <code>SAXException</code> is thrown by the
560
+ * <code>ContentHandler</code> during deserialization. </li> </ul> Unlike
561
+ * <code>Workspace.getImportContentHandler</code>, this method does not
562
+ * necessarily enforce all node type constraints during deserialization.
563
+ * Those that would be immediately enforced in a session-write method
564
+ * (<code>Node.addNode</code>, <code>Node.setProperty</code> etc.) of this
565
+ * implementation cause the returned <code>ContentHandler</code> to throw an
566
+ * immediate <code>SAXException</code> during deserialization. All other
567
+ * constraints are checked on save, just as they are in normal write
568
+ * operations. However, which node type constraints are enforced depends
569
+ * upon whether node type information in the imported data is respected, and
570
+ * this is an implementation-specific issue.
571
+ * <p>
572
+ * A <code>SAXException</code> will also be thrown by the returned
573
+ * <code>ContentHandler</code> during deserialization if
574
+ * <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code>
575
+ * and an incoming node has the same identifier as the node at
576
+ * <code>parentAbsPath</code> or one of its ancestors.
577
+ * <p>
578
+ * A <code>PathNotFoundException</code> is thrown either immediately, on
579
+ * dispatch or on persist, if no node exists at <code>parentAbsPath</code>.
580
+ * Implementations may differ on when this validation is performed
581
+ * <p>
582
+ * A <code>ConstraintViolationException</code> is thrown either immediately,
583
+ * on dispatch or on persist, if the new subgraph cannot be added to the
584
+ * node at <code>parentAbsPath</code> due to node-type or other
585
+ * implementation-specific constraints, and this can be determined before
586
+ * the first SAX event is sent. Implementations may differ on when this
587
+ * validation is performed.
588
+ * <p>
589
+ * A <code>VersionException</code> is thrown either immediately, on dispatch
590
+ * or on persist, if the node at <code>parentAbsPath</code> is read-only due
591
+ * to a check-in. Implementations may differ on when this validation is
592
+ * performed.
593
+ * <p>
594
+ * A <code>LockException</code> is thrown either immediately, on dispatch or
595
+ * on persist, if a lock prevents the addition of the subgraph.
596
+ * Implementations may differ on when this validation is performed.
597
+ *
598
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
599
+ * @param parentAbsPath the absolute path of a node under which (as child) the imported subgraph will be built.
600
+ * @param uuidBehavior a four-value flag that governs how incoming identifiers are handled.
601
+ * @return an org.xml.sax.ContentHandler whose methods may be called to feed SAX events into the deserializer.
602
+ * @throws PathNotFoundException if no node exists at <code>parentAbsPath</code> and this implementation performs this validation immediately.
603
+ * @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 implementation performs this validation immediately.
604
+ * @throws VersionException if the node at <code>parentAbsPath</code> is read-only due to a checked-in node and this implementation performs this validation immediately.
605
+ * @throws LockException if a lock prevents the addition of the subgraph and this implementation performs this validation immediately.
606
+ * @throws RepositoryException if another error occurs.
607
+ */
608
+ export function getImportContentHandler(
609
+ parentAbsPath: string,
610
+ uuidBehavior: number
611
+ ): unknown;
612
+
613
+ /**
614
+ * Deserializes an XML document and adds the resulting item subgraph as a
615
+ * child of the node at <code>parentAbsPath</code>.
616
+ * <p>
617
+ * If the incoming XML stream does not appear to be a JCR <i>system view</i>
618
+ * XML document then it is interpreted as a <i>document view</i> XML
619
+ * document.
620
+ * <p>
621
+ * The passed <code>InputStream</code> is closed before this method returns
622
+ * either normally or because of an exception.
623
+ * <p>
624
+ * The tree of new items is built in the transient storage of the
625
+ * <code>Session</code>. In order to persist the new content,
626
+ * <code>save</code> must be called. The advantage of this
627
+ * through-the-session method is that (depending on what constraint checks
628
+ * the implementation leaves until <code>save</code>) structures that
629
+ * violate node type constraints can be imported, fixed and then saved. The
630
+ * disadvantage is that a large import will result in a large cache of
631
+ * pending nodes in the session. See {@link Workspace#importXML} for a
632
+ * version of this method that does not go through the
633
+ * <code>Session</code>.
634
+ * <p>
635
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
636
+ * incoming nodes are handled. There are four options: <ul> <li> {@link
637
+ * ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}: Incoming nodes are added in
638
+ * the same way that new node is added with <code>Node.addNode</code>. That
639
+ * is, they are either assigned newly created identifiers upon addition or
640
+ * upon <code>save</code> (depending on the implementation, see <i>4.9.1.1
641
+ * When Identifiers are Assigned</i> in the specification). In either case,
642
+ * identifier collisions will not occur. </li> <li> {@link
643
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}: If an incoming
644
+ * node has the same identifier as a node already existing in the workspace
645
+ * then the already existing node (and its subgraph) is removed from
646
+ * wherever it may be in the workspace before the incoming node is added.
647
+ * Note that this can result in nodes "disappearing" from locations in the
648
+ * workspace that are remote from the location to which the incoming
649
+ * subgraph is being written. Both the removal and the new addition will be
650
+ * dispatched on <code>save</code>. </li> <li> {@link
651
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}: If an
652
+ * incoming node has the same identifier as a node already existing in the
653
+ * workspace, then the already-existing node is replaced by the incoming
654
+ * node in the same position as the existing node. Note that this may result
655
+ * in the incoming subgraph being disaggregated and "spread around" to
656
+ * different locations in the workspace. In the most extreme case this
657
+ * behavior may result in no node at all being added as child of
658
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
659
+ * incoming XML has the same identifier as an existing node elsewhere in the
660
+ * workspace. The change will be dispatched on <code>save</code>. </li> <li>
661
+ * {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If an incoming
662
+ * node has the same identifier as a node already existing in the workspace
663
+ * then an <code>ItemExistsException</code> is thrown. </li> </ul> Unlike
664
+ * {@link Workspace#importXML}, this method does not necessarily enforce all
665
+ * node type constraints during deserialization. Those that would be
666
+ * immediately enforced in a normal write method (<code>Node.addNode</code>,
667
+ * <code>Node.setProperty</code> etc.) of this implementation cause an
668
+ * immediate <code>ConstraintViolationException</code> during
669
+ * deserialization. All other constraints are checked on <code>save</code>,
670
+ * just as they are in normal write operations. However, which node type
671
+ * constraints are enforced depends upon whether node type information in
672
+ * the imported data is respected, and this is an implementation-specific
673
+ * issue.
674
+ * <p>
675
+ * A <code>ConstraintViolationException</code> will also be thrown
676
+ * immediately if <code>uuidBehavior</code> is set to
677
+ * <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code> and an incoming node
678
+ * has the same identifier as the node at <code>parentAbsPath</code> or one
679
+ * of its ancestors.
680
+ * <p>
681
+ * A <code>PathNotFoundException</code> is thrown either immediately, on
682
+ * dispatch or on persist, if no node exists at <code>parentAbsPath</code>.
683
+ * Implementations may differ on when this validation is performed
684
+ * <p>
685
+ * A <code>ConstraintViolationException</code> is thrown either immediately,
686
+ * on dispatch or on persist, if the new subgraph cannot be added to the
687
+ * node at <code>parentAbsPath</code> due to node-type or other
688
+ * implementation-specific constraints. Implementations may differ on when
689
+ * this validation is performed.
690
+ * <p>
691
+ * A <code>VersionException</code> is thrown either immediately, on dispatch
692
+ * or on persist, if the node at <code>parentAbsPath</code> is read-only due
693
+ * to a check-in. Implementations may differ on when this validation is
694
+ * performed.
695
+ * <p>
696
+ * A <code>LockException</code> is thrown either immediately, on dispatch or
697
+ * on persist, if a lock prevents the addition of the subgraph.
698
+ * Implementations may differ on when this validation is performed.
699
+ *
700
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
701
+ * @param parentAbsPath the absolute path of the node below which the deserialized subgraph is added.
702
+ * @param in The <code>Inputstream</code> from which the XML to be deserialized is read.
703
+ * @param uuidBehavior a four-value flag that governs how incoming identifiers are handled.
704
+ * @throws java.io.IOException if an error during an I/O operation occurs.
705
+ * @throws PathNotFoundException if no node exists at <code>parentAbsPath</code> and this implementation performs this validation immediately.
706
+ * @throws ItemExistsException if deserialization would overwrite an existing item and this implementation performs this validation immediately.
707
+ * @throws ConstraintViolationException if a node type or other implementation-specific constraint is violated that would be checked on a session-write method or if <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code> and an incoming node has the same UUID as the node at <code>parentAbsPath</code> or one of its ancestors.
708
+ * @throws VersionException if the node at <code>parentAbsPath</code> is read-only due to a checked-in node and this implementation performs this validation immediately.
709
+ * @throws InvalidSerializedDataException if incoming stream is not a valid XML document.
710
+ * @throws LockException if a lock prevents the addition of the subgraph and this implementation performs this validation immediately.
711
+ * @throws RepositoryException if another error occurs.
712
+ */
713
+ export function importXML(
714
+ parentAbsPath: string,
715
+ _in: unknown,
716
+ uuidBehavior: number
717
+ ): void;
718
+
719
+ /**
720
+ * Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
721
+ * the whole subgraph) at <code>absPath</code> into a series of SAX events
722
+ * by calling the methods of the supplied <code>org.xml.sax.ContentHandler</code>.
723
+ * The resulting XML is in the system view form. Note that
724
+ * <code>absPath</code> must be the path of a node, not a property.
725
+ * <p>
726
+ * If <code>skipBinary</code> is true then any properties of
727
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
728
+ * That is, the existence of the property will be serialized, but its
729
+ * content will not appear in the serialized output (the
730
+ * <code>&lt;sv:value&gt;</code> element will have no content). Note that in
731
+ * the case of multi-value <code>BINARY</code> properties, the number of
732
+ * values in the property will be reflected in the serialized output, though
733
+ * they will all be empty. If <code>skipBinary</code> is false then the
734
+ * actual value(s) of each <code>BINARY</code> property is recorded using
735
+ * Base64 encoding.
736
+ * <p>
737
+ * If <code>noRecurse</code> is true then only the node at
738
+ * <code>absPath</code> and its properties, but not its child nodes, are
739
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
740
+ * entire subgraph rooted at <code>absPath</code> is serialized.
741
+ * <p>
742
+ * If the user lacks read access to some subsection of the specified tree,
743
+ * that section simply does not get serialized, since, from the user's point
744
+ * of view, it is not there.
745
+ * <p>
746
+ * The serialized output will reflect the state of the current workspace as
747
+ * modified by the state of this <code>Session</code>. This means that
748
+ * pending changes (regardless of whether they are valid according to node
749
+ * type constraints) and all namespace mappings in the namespace registry,
750
+ * as modified by the current session-mappings, are reflected in the
751
+ * output.
752
+ * <p>
753
+ * The output XML will be encoded in UTF-8.
754
+ *
755
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
756
+ * @param absPath The path of the root of the subgraph to be serialized. This must be the path to a node, not a property
757
+ * @param contentHandler The <code>org.xml.sax.ContentHandler</code> to which the SAX events representing the XML serialization of the subgraph will be output.
758
+ * @param skipBinary A <code>boolean</code> governing whether binary properties are to be serialized.
759
+ * @param noRecurse A <code>boolean</code> governing whether the subgraph at absPath is to be recursed.
760
+ * @throws PathNotFoundException if no node exists at <code>absPath</code>.
761
+ * @throws org.xml.sax.SAXException if an error occurs while feeding events to the <code>org.xml.sax.ContentHandler</code>.
762
+ * @throws RepositoryException if another error occurs.
763
+ */
764
+ export function exportSystemView(
765
+ absPath: string,
766
+ contentHandler: unknown,
767
+ skipBinary: boolean,
768
+ noRecurse: boolean
769
+ ): void;
770
+
771
+ /**
772
+ * Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
773
+ * the whole subgraph) at <code>absPath</code> as an XML stream and outputs
774
+ * it to the supplied <code>OutputStream</code>. The resulting XML is in the
775
+ * system view form. Note that <code>absPath</code> must be the path of a
776
+ * node, not a property.
777
+ * <p>
778
+ * If <code>skipBinary</code> is true then any properties of
779
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
780
+ * That is, the existence of the property will be serialized, but its
781
+ * content will not appear in the serialized output (the
782
+ * <code>&lt;sv:value&gt;</code> element will have no content). Note that in
783
+ * the case of multi-value <code>BINARY</code> properties, the number of
784
+ * values in the property will be reflected in the serialized output, though
785
+ * they will all be empty. If <code>skipBinary</code> is false then the
786
+ * actual value(s) of each <code>BINARY</code> property is recorded using
787
+ * Base64 encoding.
788
+ * <p>
789
+ * If <code>noRecurse</code> is true then only the node at
790
+ * <code>absPath</code> and its properties, but not its child nodes, are
791
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
792
+ * entire subgraph rooted at <code>absPath</code> is serialized.
793
+ * <p>
794
+ * If the user lacks read access to some subsection of the specified tree,
795
+ * that section simply does not get serialized, since, from the user's point
796
+ * of view, it is not there.
797
+ * <p>
798
+ * The serialized output will reflect the state of the current workspace as
799
+ * modified by the state of this <code>Session</code>. This means that
800
+ * pending changes (regardless of whether they are valid according to node
801
+ * type constraints) and all namespace mappings in the namespace registry,
802
+ * as modified by the current session-mappings, are reflected in the
803
+ * output.
804
+ * <p>
805
+ * The output XML will be encoded in UTF-8.
806
+ * <p>
807
+ * It is the responsibility of the caller to close the passed
808
+ * <code>OutputStream</code>.
809
+ *
810
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
811
+ * @param absPath The path of the root of the subgraph to be serialized. This must be the path to a node, not a property
812
+ * @param out The <code>OutputStream</code> to which the XML serialization of the subgraph will be output.
813
+ * @param skipBinary A <code>boolean</code> governing whether binary properties are to be serialized.
814
+ * @param noRecurse A <code>boolean</code> governing whether the subgraph at absPath is to be recursed.
815
+ * @throws PathNotFoundException if no node exists at <code>absPath</code>.
816
+ * @throws IOException if an error during an I/O operation occurs.
817
+ * @throws RepositoryException if another error occurs.
818
+ */
819
+ export function exportSystemView(
820
+ absPath: string,
821
+ out: unknown,
822
+ skipBinary: boolean,
823
+ noRecurse: boolean
824
+ ): void;
825
+
826
+ /**
827
+ * Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
828
+ * the whole subgraph) at <code>absPath</code> into a series of SAX events
829
+ * by calling the methods of the supplied <code>org.xml.sax.ContentHandler</code>.
830
+ * The resulting XML is in the document view form. Note that
831
+ * <code>absPath</code> must be the path of a node, not a property.
832
+ * <p>
833
+ * If <code>skipBinary</code> is true then any properties of
834
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
835
+ * That is, the existence of the property will be serialized, but its
836
+ * content will not appear in the serialized output (the value of the
837
+ * attribute will be empty). If <code>skipBinary</code> is false then the
838
+ * actual value(s) of each <code>BINARY</code> property is recorded using
839
+ * Base64 encoding.
840
+ * <p>
841
+ * If <code>noRecurse</code> is true then only the node at
842
+ * <code>absPath</code> and its properties, but not its child nodes, are
843
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
844
+ * entire subgraph rooted at <code>absPath</code> is serialized.
845
+ * <p>
846
+ * If the user lacks read access to some subsection of the specified tree,
847
+ * that section simply does not get serialized, since, from the user's point
848
+ * of view, it is not there.
849
+ * <p>
850
+ * The serialized output will reflect the state of the current workspace as
851
+ * modified by the state of this <code>Session</code>. This means that
852
+ * pending changes (regardless of whether they are valid according to node
853
+ * type constraints) and all namespace mappings in the namespace registry,
854
+ * as modified by the current session-mappings, are reflected in the
855
+ * output.
856
+ * <p>
857
+ * The output XML will be encoded in UTF-8.
858
+ *
859
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
860
+ * @param absPath The path of the root of the subgraph to be serialized. This must be the path to a node, not a property
861
+ * @param contentHandler The <code>org.xml.sax.ContentHandler</code> to which the SAX events representing the XML serialization of the subgraph will be output.
862
+ * @param skipBinary A <code>boolean</code> governing whether binary properties are to be serialized.
863
+ * @param noRecurse A <code>boolean</code> governing whether the subgraph at absPath is to be recursed.
864
+ * @throws PathNotFoundException if no node exists at <code>absPath</code>.
865
+ * @throws org.xml.sax.SAXException if an error occurs while feeding events to the <code>org.xml.sax.ContentHandler</code>.
866
+ * @throws RepositoryException if another error occurs.
867
+ */
868
+ export function exportDocumentView(
869
+ absPath: string,
870
+ contentHandler: unknown,
871
+ skipBinary: boolean,
872
+ noRecurse: boolean
873
+ ): void;
874
+
875
+ /**
876
+ * Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
877
+ * the whole subgraph) at <code>absPath</code> as an XML stream and outputs
878
+ * it to the supplied <code>OutputStream</code>. The resulting XML is in the
879
+ * document view form. Note that <code>absPath</code> must be the path of a
880
+ * node, not a property.
881
+ * <p>
882
+ * If <code>skipBinary</code> is true then any properties of
883
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
884
+ * That is, the existence of the property will be serialized, but its
885
+ * content will not appear in the serialized output (the value of the
886
+ * attribute will be empty). If <code>skipBinary</code> is false then the
887
+ * actual value(s) of each <code>BINARY</code> property is recorded using
888
+ * Base64 encoding.
889
+ * <p>
890
+ * If <code>noRecurse</code> is true then only the node at
891
+ * <code>absPath</code> and its properties, but not its child nodes, are
892
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
893
+ * entire subgraph rooted at <code>absPath</code> is serialized.
894
+ * <p>
895
+ * If the user lacks read access to some subsection of the specified tree,
896
+ * that section simply does not get serialized, since, from the user's point
897
+ * of view, it is not there.
898
+ * <p>
899
+ * The serialized output will reflect the state of the current workspace as
900
+ * modified by the state of this <code>Session</code>. This means that
901
+ * pending changes (regardless of whether they are valid according to node
902
+ * type constraints) and all namespace mappings in the namespace registry,
903
+ * as modified by the current session-mappings, are reflected in the
904
+ * output.
905
+ * <p>
906
+ * The output XML will be encoded in UTF-8.
907
+ * <p>
908
+ * It is the responsibility of the caller to close the passed
909
+ * <code>OutputStream</code>.
910
+ *
911
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
912
+ * @param absPath The path of the root of the subgraph to be serialized. This must be the path to a node, not a property
913
+ * @param out The <code>OutputStream</code> to which the XML serialization of the subgraph will be output.
914
+ * @param skipBinary A <code>boolean</code> governing whether binary properties are to be serialized.
915
+ * @param noRecurse A <code>boolean</code> governing whether the subgraph at absPath is to be recursed.
916
+ * @throws PathNotFoundException if no node exists at <code>absPath</code>.
917
+ * @throws IOException if an error during an I/O operation occurs.
918
+ * @throws RepositoryException if another error occurs.
919
+ */
920
+ export function exportDocumentView(
921
+ absPath: string,
922
+ out: unknown,
923
+ skipBinary: boolean,
924
+ noRecurse: boolean
925
+ ): void;
926
+
927
+ /**
928
+ * Within the scope of this <code>Session</code>, this method maps
929
+ * <code>uri</code> to <code>prefix</code>. The remapping only affects
930
+ * operations done through this <code>Session</code>. To clear all
931
+ * remappings, the client must acquire a new <code>Session</code>.
932
+ * <p>
933
+ * All local mappings already present in the <code>Session</code> that
934
+ * include either the specified <code>prefix</code> or the specified
935
+ * <code>uri</code> are removed and the new mapping is added.
936
+ *
937
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
938
+ * @param prefix a string
939
+ * @param uri a string
940
+ * @throws NamespaceException if an attempt is made to map a namespace URI to a prefix beginning with the characters "<code>xml</code>" (in any combination of case) or if an attempt is made to map either the empty prefix or the empty namespace (i.e., if either <code>prefix</code> or <code>uri</code> are the empty string).
941
+ * @throws RepositoryException if another error occurs.
942
+ */
943
+ export function setNamespacePrefix(prefix: string, uri: string): void;
944
+
945
+ /**
946
+ * Returns all prefixes currently mapped to URIs in this
947
+ * <code>Session</code>.
948
+ * @return a string array
949
+ * @throws RepositoryException if an error occurs
950
+ */
951
+ export function getNamespacePrefixes(): string;
952
+
953
+ /**
954
+ * Returns the URI to which the given <code>prefix</code> is mapped as
955
+ * currently set in this <code>Session</code>.
956
+ * @param prefix a string
957
+ * @return a string
958
+ * @throws NamespaceException if the specified <code>prefix</code> is unknown.
959
+ * @throws RepositoryException if another error occurs
960
+ */
961
+ export function getNamespaceURI(prefix: string): string;
962
+
963
+ /**
964
+ * Returns the prefix to which the given <code>uri</code> is mapped as
965
+ * currently set in this <code>Session</code>.
966
+ * @param uri a string
967
+ * @return a string
968
+ * @throws NamespaceException if the specified <code>uri</code> is unknown.
969
+ * @throws RepositoryException if another error occurs
970
+ */
971
+ export function getNamespacePrefix(uri: string): string;
972
+
973
+ /**
974
+ * Releases all resources associated with this <code>Session</code>. This
975
+ * method should be called when a <code>Session</code> is no longer needed.
976
+
977
+ */
978
+ export function logout(): void;
979
+
980
+ /**
981
+ * Returns <code>true</code> if this <code>Session</code> object is usable
982
+ * by the client. Otherwise, returns <code>false</code>. A usable
983
+ * <code>Session</code> is one that is neither logged-out, timed-out nor in
984
+ * any other way disconnected from the repository.
985
+ * @return <code>true</code> if this <code>Session</code> is usable, <code>false</code> otherwise.
986
+ */
987
+ export function isLive(): boolean;
988
+
989
+ /**
990
+ * Adds the specified lock token to this <code>Session</code>. Holding a
991
+ * lock token makes this <code>Session</code> the owner of the lock
992
+ * specified by that particular lock token.
993
+ *
994
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
995
+ * @param lt a lock token (a string).
996
+ * @deprecated As of JCR 2.0, {@link LockManager#addLockToken(String)} should be used instead.
997
+ */
998
+ export function addLockToken(lt: string): void;
999
+
1000
+ /**
1001
+ * Returns an array containing all lock tokens currently held by this
1002
+ * <code>Session</code>. Note that any such tokens will represent
1003
+ * open-scoped locks, since session-scoped locks do not have tokens.
1004
+ *
1005
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1006
+ * @return an array of lock tokens (strings)
1007
+ * @deprecated As of JCR 2.0, {@link LockManager#getLockTokens()} should be used instead.
1008
+ */
1009
+ export function getLockTokens(): string;
1010
+
1011
+ /**
1012
+ * Removes the specified lock token from this <code>Session</code>.
1013
+ *
1014
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1015
+ * @param lt a lock token (a string)
1016
+ * @deprecated As of JCR 2.0, {@link LockManager#removeLockToken(String)} should be used instead.
1017
+ */
1018
+ export function removeLockToken(lt: string): void;
1019
+
1020
+ /**
1021
+ * Returns the access control manager for this <code>Session</code>.
1022
+ *
1023
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1024
+ * @return the access control manager for this <code>Session</code>
1025
+ * @throws UnsupportedRepositoryOperationException if access control is not supported.
1026
+ * @throws RepositoryException if another error occurs.
1027
+ * @since JCR 2.0
1028
+ */
1029
+ export function getAccessControlManager(): AccessControlManager;
1030
+
1031
+ /**
1032
+ * Returns the retention and hold manager for this <code>Session</code>.
1033
+ *
1034
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>
1035
+ * @return the retention manager for this <code>Session</code>.
1036
+ * @throws UnsupportedRepositoryOperationException if retention and hold are not supported.
1037
+ * @throws RepositoryException if another error occurs.
1038
+ * @since JCR 2.0
1039
+ */
1040
+ export function getRetentionManager(): RetentionManager;
1041
+
1042
+ /**
1043
+ * The <code>Session</code> object provides read and (in level 2) write access
1044
+ * to the content of a particular workspace in the repository.
1045
+ * <p>
1046
+ * The <code>Session</code> object is returned by {@link
1047
+ * Repository#login(Credentials, String) Repository.login()}. It encapsulates
1048
+ * both the authorization settings of a particular user (as specified by the
1049
+ * passed <code>Credentials</code>) and a binding to the workspace specified by
1050
+ * the <code>workspaceName</code> passed on <code>login</code>.
1051
+ * <p>
1052
+ * Each <code>Session</code> object is associated one-to-one with a
1053
+ * <code>Workspace</code> object. The <code>Workspace</code> object represents a
1054
+ * "view" of an actual repository workspace entity as seen through the
1055
+ * authorization settings of its associated <code>Session</code>.
1056
+ *
1057
+ * <h3>Session instance retrieval in Sitevision</h3>
1058
+ * <p>
1059
+ * An instance of this interface can be obtained via the request attribute "<code>sitevision.jcr.session</code>".
1060
+ * Below is an example of how to get hold of a <code>Session</code> instance from your custom JSR 286 portlet:
1061
+ * </p>
1062
+ * <pre><code>
1063
+ * Session jcrSession = (Session) aPortletRequest.getAttribute("sitevision.jcr.session");
1064
+ * </code></pre>
1065
+ * <p>
1066
+ * This interface is annotated with {@link senselogic.sitevision.api.base.Requireable} so in server-side JavaScript you would typically obtain an instance of this interface via the <code>require</code> function:
1067
+ * </p>
1068
+ * <pre><code>
1069
+ * var session = require('Session');
1070
+ * </code></pre>
1071
+ * <p>
1072
+ * In JCR capable portlets that are bundled with Sitevision and exposes a "Custom template", you typically have a <code>Session</code> instance
1073
+ * available as "<code>$jcrSession</code>" on the VelocityContext:
1074
+ * </p>
1075
+ * <pre><code>
1076
+ * $jcrSession
1077
+ * </code></pre>
1078
+ * <p>
1079
+ * <em>If $jcrSession is not available on the VelocityContext, use the portlet request (if available) to retrieve it. :</em>
1080
+ * </p>
1081
+ * <pre><em><code>
1082
+ * #set ($jcrSession = $request.getAttribute('sitevision.jcr.session'))
1083
+ * </code></em></pre>Returns the <code>Repository</code> object through which this session was
1084
+ * acquired.Gets the user ID associated with this <code>Session</code>. How the user
1085
+ * ID is set is up to the implementation, it may be a string passed in as
1086
+ * part of the credentials or it may be a string acquired in some other way.
1087
+ * This method is free to return an "anonymous user ID" or
1088
+ * <code>null</code>.Returns the names of the attributes set in this session as a result of
1089
+ * the <code>Credentials</code> that were used to acquire it. Not all
1090
+ * <code>Credentials</code> implementations will contain attributes (though,
1091
+ * for example, <code>SimpleCredentials</code> does allow for them). This
1092
+ * method returns an empty array if the <code>Credentials</code> instance
1093
+ * did not provide attributes.Returns the value of the named attribute as an <code>Object</code>, or
1094
+ * <code>null</code> if no attribute of the given name exists. See {@link
1095
+ * Session#getAttributeNames}.Returns the <code>Workspace</code> attached to this
1096
+ * <code>Session</code>.Returns the root node of the workspace, "/". This node is the main access
1097
+ * point to the content of the workspace.Returns a new session in accordance with the specified (new) Credentials.
1098
+ * Allows the current user to "impersonate" another using incomplete or
1099
+ * relaxed credentials requirements (perhaps including a user name but no
1100
+ * password, for example), assuming that this <code>Session</code> gives
1101
+ * them that permission.
1102
+ * <p>
1103
+ * The new <code>Session</code> is tied to a new <code>Workspace</code>
1104
+ * instance. In other words, <code>Workspace</code> instances are not
1105
+ * re-used. However, the <code>Workspace</code> instance returned represents
1106
+ * the same actual persistent workspace entity in the repository as is
1107
+ * represented by the <code>Workspace</code> object tied to this
1108
+ * <code>Session</code>.Returns the node specified by the given UUID. Only applies to nodes that
1109
+ * expose a UUID, in other words, those of mixin node type
1110
+ * <code>mix:referenceable</code>
1111
+ *
1112
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns the node specified by the given identifier. Applies to both
1113
+ * referenceable and non-referenceable nodes.Returns the node at the specified absolute path in the workspace. If no
1114
+ * such node exists, then it returns the property at the specified path.
1115
+ * <p>
1116
+ * This method should only be used if the application does not know whether
1117
+ * the item at the indicated path is property or node. In cases where the
1118
+ * application has this information, either {@link #getNode} or {@link
1119
+ * #getProperty} should be used, as appropriate. In many repository
1120
+ * implementations the node and property-specific methods are likely to be
1121
+ * more efficient than <code>getItem</code>.Returns the node at the specified absolute path in the workspace.Returns the property at the specified absolute path in the workspace.Returns <code>true</code> if an item exists at <code>absPath</code> and
1122
+ * this <code>Session</code> has read access to it; otherwise returns
1123
+ * <code>false</code>.Returns <code>true</code> if a node exists at <code>absPath</code> and
1124
+ * this <code>Session</code> has read access to it; otherwise returns
1125
+ * <code>false</code>.Returns <code>true</code> if a property exists at <code>absPath</code>
1126
+ * and this <code>Session</code> has read access to it; otherwise returns
1127
+ * <code>false</code>.Moves the node at <code>srcAbsPath</code> (and its entire subgraph) to
1128
+ * the new location at <code>destAbsPath</code>.
1129
+ * <p>
1130
+ * This is a session-write method and therefor requires a <code>save</code>
1131
+ * to dispatch the change.
1132
+ * <p>
1133
+ * The identifiers of referenceable nodes <i>must not</i> be changed by a
1134
+ * <code>move</code>. The identifiers of non-referenceable nodes <i>may</i>
1135
+ * change.
1136
+ * <p>
1137
+ * A <code>ConstraintViolationException</code> is thrown either immediately,
1138
+ * on dispatch or on persist, if performing this operation would violate a
1139
+ * node type or implementation-specific constraint. Implementations may
1140
+ * differ on when this validation is performed.
1141
+ * <p>
1142
+ * As well, a <code>ConstraintViolationException</code> will be thrown on
1143
+ * persist if an attempt is made to separately <code>save</code> either the
1144
+ * source or destination node.
1145
+ * <p>
1146
+ * Note that this behavior differs from that of {@link Workspace#move},
1147
+ * which is a workspace-write method and therefore immediately dispatches
1148
+ * changes.
1149
+ * <p>
1150
+ * The <code>destAbsPath</code> provided must not have an index on its final
1151
+ * element. If ordering is supported by the node type of the parent node of
1152
+ * the new location, then the newly moved node is appended to the end of the
1153
+ * child node list.
1154
+ * <p>
1155
+ * This method cannot be used to move an individual property by itself. It
1156
+ * moves an entire node and its subgraph.
1157
+ * <p>
1158
+ * If no node exists at <code>srcAbsPath</code> or no node exists one level
1159
+ * above <code>destAbsPath</code> (in other words, there is no node that
1160
+ * will serve as the parent of the moved item) then a
1161
+ * <code>PathNotFoundException</code> is thrown either immediately, on
1162
+ * dispatch or on persist. Implementations may differ on when this
1163
+ * validation is performed.
1164
+ * <p>
1165
+ * An <code>ItemExistsException</code> is thrown either immediately, on
1166
+ * dispatch or on persist, if a node already exists at
1167
+ * <code>destAbsPath</code> and same-name siblings are not allowed.
1168
+ * Implementations may differ on when this validation is performed.
1169
+ * <p>
1170
+ * Note that if a property already exists at <code>destAbsPath</code>, the
1171
+ * operation succeeds, since a node may have a child node and property with
1172
+ * the same name.
1173
+ * <p>
1174
+ * A <code>VersionException</code> is thrown either immediately, on dispatch
1175
+ * or on persist, if the parent node of <code>destAbsPath</code> or the
1176
+ * parent node of <code>srcAbsPath</code> is read-only due to a checked-in node.
1177
+ * Implementations may differ on when this validation is performed.
1178
+ * <p>
1179
+ * A <code>LockException</code> is thrown either immediately, on dispatch or
1180
+ * on persist, if a lock prevents the <code>move</code>. Implementations may
1181
+ * differ on when this validation is performed.
1182
+ *
1183
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Removes the specified item and its subgraph.
1184
+ * <p>
1185
+ * This is a session-write method and therefore requires a <code>save</code>
1186
+ * in order to dispatch the change.
1187
+ * <p>
1188
+ * If a node with same-name siblings is removed, this decrements by one the
1189
+ * indices of all the siblings with indices greater than that of the removed
1190
+ * node. In other words, a removal compacts the array of same-name siblings
1191
+ * and causes the minimal re-numbering required to maintain the original
1192
+ * order but leave no gaps in the numbering.
1193
+ * <p>
1194
+ * A <code>ReferentialIntegrityException</code> will be thrown on dispatch
1195
+ * if the specified item or an item in its subgraph is currently the target
1196
+ * of a <code>REFERENCE</code> property located in this workspace but
1197
+ * outside the specified item's subgraph and the current
1198
+ * <code>Session</code> has read access to that <code>REFERENCE</code>
1199
+ * property.
1200
+ * <p>
1201
+ * A <code>ConstraintViolationException</code> will be thrown either
1202
+ * immediately, on dispatch or on persist, if removing the specified item
1203
+ * would violate a node type or implementation-specific constraint.
1204
+ * Implementations may differ on when this validation is performed.
1205
+ * <p>
1206
+ * A <code>VersionException</code> will be thrown either immediately, on
1207
+ * dispatch or on persist, if the parent node of the specified item is
1208
+ * read-only due to a checked-in node. Implementations may differ on when
1209
+ * this validation is performed.
1210
+ * <p>
1211
+ * A <code>LockException</code> will be thrown either immediately, on
1212
+ * dispatch or on persist, if a lock prevents the removal of the specified
1213
+ * item. Implementations may differ on when this validation is performed.
1214
+ * <p>
1215
+ * A <code>PathNotFoundException</code> will be thrown either immediately,
1216
+ * on dispatch or on persist, if no accessible item is found at at
1217
+ * <code>absPath</code>.
1218
+ * <p>
1219
+ * A <code>AccessDeniedException</code> will be thrown either immediately,
1220
+ * on dispatch or on persist, if the specified item or an item in its
1221
+ * subgraph is currently the target of a <code>REFERENCE</code> property
1222
+ * located in this workspace but outside the specified item's subgraph and
1223
+ * the current <code>Session</code> <i>does not</i> have read access to that
1224
+ * <code>REFERENCE</code> property.
1225
+ *
1226
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Validates all pending changes currently recorded in this
1227
+ * <code>Session</code>. If validation of <i>all</i> pending changes
1228
+ * succeeds, then this change information is cleared from the
1229
+ * <code>Session</code>.
1230
+ * <p>
1231
+ * If the <code>save</code> occurs outside a transaction, the changes are
1232
+ * <i>dispatched</i> and <i>persisted</i>. Upon being persisted the changes
1233
+ * become potentially visible to other <code>Sessions</code> bound to the
1234
+ * same persitent workspace.
1235
+ * <p>
1236
+ * If the <code>save</code> occurs within a transaction, the changes are
1237
+ * <i>dispatched</i> but are not <i>persisted</i> until the transaction is
1238
+ * committed.
1239
+ * <p>
1240
+ * If validation fails, then no pending changes are dispatched and they
1241
+ * remain recorded on the <code>Session</code>. There is no best-effort or
1242
+ * partial <code>save</code>.
1243
+ *
1244
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>If <code>keepChanges</code> is <code>false</code>, this method discards
1245
+ * all pending changes currently recorded in this <code>Session</code> and
1246
+ * returns all items to reflect the current saved state. Outside a
1247
+ * transaction this state is simply the current state of persistent storage.
1248
+ * Within a transaction, this state will reflect persistent storage as
1249
+ * modified by changes that have been saved but not yet committed.
1250
+ * <p>
1251
+ * If <code>keepChanges</code> is true then pending change are not discarded
1252
+ * but items that do not have changes pending have their state refreshed to
1253
+ * reflect the current saved state, thus revealing changes made by other
1254
+ * sessions.
1255
+ *
1256
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns <code>true</code> if this session holds pending (that is,
1257
+ * unsaved) changes; otherwise returns <code>false</code>.
1258
+ *
1259
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>This method returns a <code>ValueFactory</code> that is used to create
1260
+ * <code>Value</code> objects for use when setting repository properties.Returns <code>true</code> if this <code>Session</code> has permission to
1261
+ * perform the specified actions at the specified <code>absPath</code> and
1262
+ * <code>false</code> otherwise.
1263
+ * <p>
1264
+ * The <code>actions</code> parameter is a comma separated list of action
1265
+ * strings. The following action strings are defined: <ul> <li> {@link
1266
+ * #ACTION_ADD_NODE add_node}: If <code>hasPermission(path,
1267
+ * "add_node")</code> returns <code>true</code>, then this
1268
+ * <code>Session</code> has permission to add a node at <code>path</code>.
1269
+ * </li> <li> {@link #ACTION_SET_PROPERTY set_property}: If
1270
+ * <code>hasPermission(path, "set_property")</code> returns
1271
+ * <code>true</code>, then this <code>Session</code> has permission to set
1272
+ * (add or change) a property at <code>path</code>. </li> <li> {@link
1273
+ * #ACTION_REMOVE remove}: If <code>hasPermission(path,
1274
+ * "remove")</code> returns <code>true</code>, then this
1275
+ * <code>Session</code> has permission to remove an item at
1276
+ * <code>path</code>. </li> <li> {@link #ACTION_READ read}: If
1277
+ * <code>hasPermission(path, "read")</code> returns <code>true</code>, then
1278
+ * this <code>Session</code> has permission to retrieve (and read the value
1279
+ * of, in the case of a property) an item at <code>path</code>. </li> </ul>
1280
+ * When more than one action is specified in the <code>actions</code>
1281
+ * parameter, this method will only return <code>true</code> if this
1282
+ * <code>Session</code> has permission to perform <i>all</i> of the listed
1283
+ * actions at the specified path.
1284
+ * <p>
1285
+ * The information returned through this method will only reflect the access
1286
+ * control status (both JCR defined and implementation-specific) and not
1287
+ * other restrictions that may exist, such as node type constraints. For
1288
+ * example, even though <code>hasPermission</code> may indicate that a
1289
+ * particular <code>Session</code> may add a property at
1290
+ * <code>/A/B/C</code>, the node type of the node at <code>/A/B</code> may
1291
+ * prevent the addition of a property called <code>C</code>.
1292
+ *
1293
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Determines whether this <code>Session</code> has permission to perform
1294
+ * the specified actions at the specified <code>absPath</code>. This method
1295
+ * quietly returns if the access request is permitted, or throws a suitable
1296
+ * <code>java.security.AccessControlException</code> otherwise.
1297
+ * <p>
1298
+ * The <code>actions</code> parameter is a comma separated list of action
1299
+ * strings. The following action strings are defined: <ul> <li> {@link
1300
+ * #ACTION_ADD_NODE add_node}: If <code>checkPermission(path,
1301
+ * "add_node")</code> returns quietly, then this <code>Session</code> has
1302
+ * permission to add a node at <code>path</code>, otherwise permission is
1303
+ * denied. </li> <li> {@link #ACTION_SET_PROPERTY set_property}:
1304
+ * If <code>checkPermission(path, "set_property")</code> returns quietly,
1305
+ * then this <code>Session</code> has permission to set (add or change) a
1306
+ * property at <code>path</code>, otherwise permission is denied. </li> <li>
1307
+ * {@link #ACTION_REMOVE remove}: If <code>checkPermission(path,
1308
+ * "remove")</code> returns quietly, then this <code>Session</code> has
1309
+ * permission to remove an item at <code>path</code>, otherwise permission
1310
+ * is denied. </li> <li> {@link #ACTION_READ read}: If
1311
+ * <code>checkPermission(path, "read")</code> returns quietly, then this
1312
+ * <code>Session</code> has permission to retrieve (and read the value of,
1313
+ * in the case of a property) an item at <code>path</code>, otherwise
1314
+ * permission is denied. </li> </ul> When more than one action is specified
1315
+ * in the <code>actions</code> parameter, this method will only return
1316
+ * quietly if this <code>Session</code> has permission to perform <i>all</i>
1317
+ * of the listed actions at the specified path.
1318
+ * <p>
1319
+ * The information returned through this method will only reflect access
1320
+ * control status (both JCR defined and implementation-specific) and not
1321
+ * other restrictions that may exist, such as node type constraints. For
1322
+ * example, even though <code>checkPermission</code> may indicate that a
1323
+ * particular <code>Session</code> may add a property at
1324
+ * <code>/A/B/C</code>, the node type of the node at <code>/A/B</code> may
1325
+ * prevent the addition of a property called <code>C</code>.
1326
+ *
1327
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Checks whether an operation can be performed given as much context as can
1328
+ * be determined by the repository, including: <ul> <li> Permissions granted
1329
+ * to the current user, including access control privileges. </li> <li>
1330
+ * Current state of the target object (reflecting locks, checkin/checkout
1331
+ * status, retention and hold status etc.). </li> <li> Repository
1332
+ * capabilities. </li> <li> Node type-enforced restrictions. </li> <li>
1333
+ * Repository configuration-specific restrictions. </li> </ul> The
1334
+ * implementation of this method is best effort: returning
1335
+ * <code>false</code> guarantees that the operation cannot be performed, but
1336
+ * returning <code>true</code> does not guarantee the opposite. The
1337
+ * repository implementation should use this to give priority to performance
1338
+ * over completeness. An exception should be thrown only for important
1339
+ * failures such as loss of connectivity to the back-end.
1340
+ * <p>
1341
+ * The implementation of this method is best effort: returning false
1342
+ * guarantees that the operation cannot be performed, but returning true
1343
+ * does not guarantee the opposite.
1344
+ * <p>
1345
+ * The <code>methodName</code> parameter identifies the method in question
1346
+ * by its name as defined in the Javadoc.
1347
+ * <p>
1348
+ * The <code>target</code> parameter identifies the object on which the
1349
+ * specified method is called.
1350
+ * <p>
1351
+ * The <code>arguments</code> parameter contains an array of type
1352
+ * <code>Object</code> object consisting of the arguments to be passed
1353
+ * to the method in question. In cases where a parameter is a Java
1354
+ * primitive type it must be converted to its corresponding Java object form.
1355
+ * <p>
1356
+ * For example, given a <code>Session</code> <code>S</code> and
1357
+ * <code>Node</code> <code>N</code> then
1358
+ * <p>
1359
+ * <code>boolean b = S.hasCapability("addNode", N, new Object[]{"foo"});</code>
1360
+ * <p>
1361
+ * will result in <code>b == false</code> if a child node called <code>foo</code> cannot be added to
1362
+ * the node <code>N</code> within the session <code>S</code>.
1363
+ *
1364
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns an <code>org.xml.sax.ContentHandler</code> which is used to push
1365
+ * SAX events to the repository. If the incoming XML (in the form of SAX
1366
+ * events) does not appear to be a JCR <i>system view</i> XML document then
1367
+ * it is interpreted as a JCR <i>document view</i> XML document.
1368
+ * <p>
1369
+ * The incoming XML is deserialized into a subgraph of items immediately
1370
+ * below the node at <code>parentAbsPath</code>.
1371
+ * <p>
1372
+ * This method simply returns the <code>ContentHandler</code> without
1373
+ * altering the state of the session; the actual deserialization to the
1374
+ * session transient space is done through the methods of the
1375
+ * <code>ContentHandler</code>. Invalid XML data will cause the
1376
+ * <code>ContentHandler</code> to throw a <code>SAXException</code>.
1377
+ * <p>
1378
+ * As SAX events are fed into the <code>ContentHandler</code>, the tree of
1379
+ * new items is built in the transient storage of the session. In order to
1380
+ * dispatch the new content, <code>save</code> must be called. See {@link
1381
+ * Workspace#getImportContentHandler} for a workspace-write version of this
1382
+ * method.
1383
+ * <p>
1384
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
1385
+ * incoming nodes are handled: <ul> <li> {@link ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}:
1386
+ * Incoming identifiers nodes are added in the same way that new node is
1387
+ * added with <code>Node.addNode</code>. That is, they are either assigned
1388
+ * newly created identifiers upon addition or upon <code>save</code>
1389
+ * (depending on the implementation). In either case, identifier collisions
1390
+ * will not occur. </li> <li> {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}:
1391
+ * If an incoming node has the same identifier as a node already existing in
1392
+ * the workspace then the already existing node (and its subgraph) is
1393
+ * removed from wherever it may be in the workspace before the incoming node
1394
+ * is added. Note that this can result in nodes "disappearing" from
1395
+ * locations in the workspace that are remote from the location to which the
1396
+ * incoming subgraph is being written. Both the removal and the new addition
1397
+ * will be persisted on <code>save</code>. </li> <li> {@link
1398
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}: If an
1399
+ * incoming node has the same identifier as a node already existing in the
1400
+ * workspace, then the already-existing node is replaced by the incoming
1401
+ * node in the same position as the existing node. Note that this may result
1402
+ * in the incoming subgraph being disaggregated and "spread around" to
1403
+ * different locations in the workspace. In the most extreme case this
1404
+ * behavior may result in no node at all being added as child of
1405
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
1406
+ * incoming XML has the same identifier as an existing node elsewhere in the
1407
+ * workspace. The change will be persisted on <code>save</code>. </li> <li>
1408
+ * {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If an incoming
1409
+ * node has the same identifier as a node already existing in the workspace
1410
+ * then a <code>SAXException</code> is thrown by the
1411
+ * <code>ContentHandler</code> during deserialization. </li> </ul> Unlike
1412
+ * <code>Workspace.getImportContentHandler</code>, this method does not
1413
+ * necessarily enforce all node type constraints during deserialization.
1414
+ * Those that would be immediately enforced in a session-write method
1415
+ * (<code>Node.addNode</code>, <code>Node.setProperty</code> etc.) of this
1416
+ * implementation cause the returned <code>ContentHandler</code> to throw an
1417
+ * immediate <code>SAXException</code> during deserialization. All other
1418
+ * constraints are checked on save, just as they are in normal write
1419
+ * operations. However, which node type constraints are enforced depends
1420
+ * upon whether node type information in the imported data is respected, and
1421
+ * this is an implementation-specific issue.
1422
+ * <p>
1423
+ * A <code>SAXException</code> will also be thrown by the returned
1424
+ * <code>ContentHandler</code> during deserialization if
1425
+ * <code>uuidBehavior</code> is set to <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code>
1426
+ * and an incoming node has the same identifier as the node at
1427
+ * <code>parentAbsPath</code> or one of its ancestors.
1428
+ * <p>
1429
+ * A <code>PathNotFoundException</code> is thrown either immediately, on
1430
+ * dispatch or on persist, if no node exists at <code>parentAbsPath</code>.
1431
+ * Implementations may differ on when this validation is performed
1432
+ * <p>
1433
+ * A <code>ConstraintViolationException</code> is thrown either immediately,
1434
+ * on dispatch or on persist, if the new subgraph cannot be added to the
1435
+ * node at <code>parentAbsPath</code> due to node-type or other
1436
+ * implementation-specific constraints, and this can be determined before
1437
+ * the first SAX event is sent. Implementations may differ on when this
1438
+ * validation is performed.
1439
+ * <p>
1440
+ * A <code>VersionException</code> is thrown either immediately, on dispatch
1441
+ * or on persist, if the node at <code>parentAbsPath</code> is read-only due
1442
+ * to a check-in. Implementations may differ on when this validation is
1443
+ * performed.
1444
+ * <p>
1445
+ * A <code>LockException</code> is thrown either immediately, on dispatch or
1446
+ * on persist, if a lock prevents the addition of the subgraph.
1447
+ * Implementations may differ on when this validation is performed.
1448
+ *
1449
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Deserializes an XML document and adds the resulting item subgraph as a
1450
+ * child of the node at <code>parentAbsPath</code>.
1451
+ * <p>
1452
+ * If the incoming XML stream does not appear to be a JCR <i>system view</i>
1453
+ * XML document then it is interpreted as a <i>document view</i> XML
1454
+ * document.
1455
+ * <p>
1456
+ * The passed <code>InputStream</code> is closed before this method returns
1457
+ * either normally or because of an exception.
1458
+ * <p>
1459
+ * The tree of new items is built in the transient storage of the
1460
+ * <code>Session</code>. In order to persist the new content,
1461
+ * <code>save</code> must be called. The advantage of this
1462
+ * through-the-session method is that (depending on what constraint checks
1463
+ * the implementation leaves until <code>save</code>) structures that
1464
+ * violate node type constraints can be imported, fixed and then saved. The
1465
+ * disadvantage is that a large import will result in a large cache of
1466
+ * pending nodes in the session. See {@link Workspace#importXML} for a
1467
+ * version of this method that does not go through the
1468
+ * <code>Session</code>.
1469
+ * <p>
1470
+ * The flag <code>uuidBehavior</code> governs how the identifiers of
1471
+ * incoming nodes are handled. There are four options: <ul> <li> {@link
1472
+ * ImportUUIDBehavior#IMPORT_UUID_CREATE_NEW}: Incoming nodes are added in
1473
+ * the same way that new node is added with <code>Node.addNode</code>. That
1474
+ * is, they are either assigned newly created identifiers upon addition or
1475
+ * upon <code>save</code> (depending on the implementation, see <i>4.9.1.1
1476
+ * When Identifiers are Assigned</i> in the specification). In either case,
1477
+ * identifier collisions will not occur. </li> <li> {@link
1478
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REMOVE_EXISTING}: If an incoming
1479
+ * node has the same identifier as a node already existing in the workspace
1480
+ * then the already existing node (and its subgraph) is removed from
1481
+ * wherever it may be in the workspace before the incoming node is added.
1482
+ * Note that this can result in nodes "disappearing" from locations in the
1483
+ * workspace that are remote from the location to which the incoming
1484
+ * subgraph is being written. Both the removal and the new addition will be
1485
+ * dispatched on <code>save</code>. </li> <li> {@link
1486
+ * ImportUUIDBehavior#IMPORT_UUID_COLLISION_REPLACE_EXISTING}: If an
1487
+ * incoming node has the same identifier as a node already existing in the
1488
+ * workspace, then the already-existing node is replaced by the incoming
1489
+ * node in the same position as the existing node. Note that this may result
1490
+ * in the incoming subgraph being disaggregated and "spread around" to
1491
+ * different locations in the workspace. In the most extreme case this
1492
+ * behavior may result in no node at all being added as child of
1493
+ * <code>parentAbsPath</code>. This will occur if the topmost element of the
1494
+ * incoming XML has the same identifier as an existing node elsewhere in the
1495
+ * workspace. The change will be dispatched on <code>save</code>. </li> <li>
1496
+ * {@link ImportUUIDBehavior#IMPORT_UUID_COLLISION_THROW}: If an incoming
1497
+ * node has the same identifier as a node already existing in the workspace
1498
+ * then an <code>ItemExistsException</code> is thrown. </li> </ul> Unlike
1499
+ * {@link Workspace#importXML}, this method does not necessarily enforce all
1500
+ * node type constraints during deserialization. Those that would be
1501
+ * immediately enforced in a normal write method (<code>Node.addNode</code>,
1502
+ * <code>Node.setProperty</code> etc.) of this implementation cause an
1503
+ * immediate <code>ConstraintViolationException</code> during
1504
+ * deserialization. All other constraints are checked on <code>save</code>,
1505
+ * just as they are in normal write operations. However, which node type
1506
+ * constraints are enforced depends upon whether node type information in
1507
+ * the imported data is respected, and this is an implementation-specific
1508
+ * issue.
1509
+ * <p>
1510
+ * A <code>ConstraintViolationException</code> will also be thrown
1511
+ * immediately if <code>uuidBehavior</code> is set to
1512
+ * <code>IMPORT_UUID_COLLISION_REMOVE_EXISTING</code> and an incoming node
1513
+ * has the same identifier as the node at <code>parentAbsPath</code> or one
1514
+ * of its ancestors.
1515
+ * <p>
1516
+ * A <code>PathNotFoundException</code> is thrown either immediately, on
1517
+ * dispatch or on persist, if no node exists at <code>parentAbsPath</code>.
1518
+ * Implementations may differ on when this validation is performed
1519
+ * <p>
1520
+ * A <code>ConstraintViolationException</code> is thrown either immediately,
1521
+ * on dispatch or on persist, if the new subgraph cannot be added to the
1522
+ * node at <code>parentAbsPath</code> due to node-type or other
1523
+ * implementation-specific constraints. Implementations may differ on when
1524
+ * this validation is performed.
1525
+ * <p>
1526
+ * A <code>VersionException</code> is thrown either immediately, on dispatch
1527
+ * or on persist, if the node at <code>parentAbsPath</code> is read-only due
1528
+ * to a check-in. Implementations may differ on when this validation is
1529
+ * performed.
1530
+ * <p>
1531
+ * A <code>LockException</code> is thrown either immediately, on dispatch or
1532
+ * on persist, if a lock prevents the addition of the subgraph.
1533
+ * Implementations may differ on when this validation is performed.
1534
+ *
1535
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
1536
+ * the whole subgraph) at <code>absPath</code> into a series of SAX events
1537
+ * by calling the methods of the supplied <code>org.xml.sax.ContentHandler</code>.
1538
+ * The resulting XML is in the system view form. Note that
1539
+ * <code>absPath</code> must be the path of a node, not a property.
1540
+ * <p>
1541
+ * If <code>skipBinary</code> is true then any properties of
1542
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
1543
+ * That is, the existence of the property will be serialized, but its
1544
+ * content will not appear in the serialized output (the
1545
+ * <code>&lt;sv:value&gt;</code> element will have no content). Note that in
1546
+ * the case of multi-value <code>BINARY</code> properties, the number of
1547
+ * values in the property will be reflected in the serialized output, though
1548
+ * they will all be empty. If <code>skipBinary</code> is false then the
1549
+ * actual value(s) of each <code>BINARY</code> property is recorded using
1550
+ * Base64 encoding.
1551
+ * <p>
1552
+ * If <code>noRecurse</code> is true then only the node at
1553
+ * <code>absPath</code> and its properties, but not its child nodes, are
1554
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
1555
+ * entire subgraph rooted at <code>absPath</code> is serialized.
1556
+ * <p>
1557
+ * If the user lacks read access to some subsection of the specified tree,
1558
+ * that section simply does not get serialized, since, from the user's point
1559
+ * of view, it is not there.
1560
+ * <p>
1561
+ * The serialized output will reflect the state of the current workspace as
1562
+ * modified by the state of this <code>Session</code>. This means that
1563
+ * pending changes (regardless of whether they are valid according to node
1564
+ * type constraints) and all namespace mappings in the namespace registry,
1565
+ * as modified by the current session-mappings, are reflected in the
1566
+ * output.
1567
+ * <p>
1568
+ * The output XML will be encoded in UTF-8.
1569
+ *
1570
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
1571
+ * the whole subgraph) at <code>absPath</code> as an XML stream and outputs
1572
+ * it to the supplied <code>OutputStream</code>. The resulting XML is in the
1573
+ * system view form. Note that <code>absPath</code> must be the path of a
1574
+ * node, not a property.
1575
+ * <p>
1576
+ * If <code>skipBinary</code> is true then any properties of
1577
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
1578
+ * That is, the existence of the property will be serialized, but its
1579
+ * content will not appear in the serialized output (the
1580
+ * <code>&lt;sv:value&gt;</code> element will have no content). Note that in
1581
+ * the case of multi-value <code>BINARY</code> properties, the number of
1582
+ * values in the property will be reflected in the serialized output, though
1583
+ * they will all be empty. If <code>skipBinary</code> is false then the
1584
+ * actual value(s) of each <code>BINARY</code> property is recorded using
1585
+ * Base64 encoding.
1586
+ * <p>
1587
+ * If <code>noRecurse</code> is true then only the node at
1588
+ * <code>absPath</code> and its properties, but not its child nodes, are
1589
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
1590
+ * entire subgraph rooted at <code>absPath</code> is serialized.
1591
+ * <p>
1592
+ * If the user lacks read access to some subsection of the specified tree,
1593
+ * that section simply does not get serialized, since, from the user's point
1594
+ * of view, it is not there.
1595
+ * <p>
1596
+ * The serialized output will reflect the state of the current workspace as
1597
+ * modified by the state of this <code>Session</code>. This means that
1598
+ * pending changes (regardless of whether they are valid according to node
1599
+ * type constraints) and all namespace mappings in the namespace registry,
1600
+ * as modified by the current session-mappings, are reflected in the
1601
+ * output.
1602
+ * <p>
1603
+ * The output XML will be encoded in UTF-8.
1604
+ * <p>
1605
+ * It is the responsibility of the caller to close the passed
1606
+ * <code>OutputStream</code>.
1607
+ *
1608
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
1609
+ * the whole subgraph) at <code>absPath</code> into a series of SAX events
1610
+ * by calling the methods of the supplied <code>org.xml.sax.ContentHandler</code>.
1611
+ * The resulting XML is in the document view form. Note that
1612
+ * <code>absPath</code> must be the path of a node, not a property.
1613
+ * <p>
1614
+ * If <code>skipBinary</code> is true then any properties of
1615
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
1616
+ * That is, the existence of the property will be serialized, but its
1617
+ * content will not appear in the serialized output (the value of the
1618
+ * attribute will be empty). If <code>skipBinary</code> is false then the
1619
+ * actual value(s) of each <code>BINARY</code> property is recorded using
1620
+ * Base64 encoding.
1621
+ * <p>
1622
+ * If <code>noRecurse</code> is true then only the node at
1623
+ * <code>absPath</code> and its properties, but not its child nodes, are
1624
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
1625
+ * entire subgraph rooted at <code>absPath</code> is serialized.
1626
+ * <p>
1627
+ * If the user lacks read access to some subsection of the specified tree,
1628
+ * that section simply does not get serialized, since, from the user's point
1629
+ * of view, it is not there.
1630
+ * <p>
1631
+ * The serialized output will reflect the state of the current workspace as
1632
+ * modified by the state of this <code>Session</code>. This means that
1633
+ * pending changes (regardless of whether they are valid according to node
1634
+ * type constraints) and all namespace mappings in the namespace registry,
1635
+ * as modified by the current session-mappings, are reflected in the
1636
+ * output.
1637
+ * <p>
1638
+ * The output XML will be encoded in UTF-8.
1639
+ *
1640
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Serializes the node (and if <code>noRecurse</code> is <code>false</code>,
1641
+ * the whole subgraph) at <code>absPath</code> as an XML stream and outputs
1642
+ * it to the supplied <code>OutputStream</code>. The resulting XML is in the
1643
+ * document view form. Note that <code>absPath</code> must be the path of a
1644
+ * node, not a property.
1645
+ * <p>
1646
+ * If <code>skipBinary</code> is true then any properties of
1647
+ * <code>PropertyType.BINARY</code> will be serialized as if they are empty.
1648
+ * That is, the existence of the property will be serialized, but its
1649
+ * content will not appear in the serialized output (the value of the
1650
+ * attribute will be empty). If <code>skipBinary</code> is false then the
1651
+ * actual value(s) of each <code>BINARY</code> property is recorded using
1652
+ * Base64 encoding.
1653
+ * <p>
1654
+ * If <code>noRecurse</code> is true then only the node at
1655
+ * <code>absPath</code> and its properties, but not its child nodes, are
1656
+ * serialized. If <code>noRecurse</code> is <code>false</code> then the
1657
+ * entire subgraph rooted at <code>absPath</code> is serialized.
1658
+ * <p>
1659
+ * If the user lacks read access to some subsection of the specified tree,
1660
+ * that section simply does not get serialized, since, from the user's point
1661
+ * of view, it is not there.
1662
+ * <p>
1663
+ * The serialized output will reflect the state of the current workspace as
1664
+ * modified by the state of this <code>Session</code>. This means that
1665
+ * pending changes (regardless of whether they are valid according to node
1666
+ * type constraints) and all namespace mappings in the namespace registry,
1667
+ * as modified by the current session-mappings, are reflected in the
1668
+ * output.
1669
+ * <p>
1670
+ * The output XML will be encoded in UTF-8.
1671
+ * <p>
1672
+ * It is the responsibility of the caller to close the passed
1673
+ * <code>OutputStream</code>.
1674
+ *
1675
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Within the scope of this <code>Session</code>, this method maps
1676
+ * <code>uri</code> to <code>prefix</code>. The remapping only affects
1677
+ * operations done through this <code>Session</code>. To clear all
1678
+ * remappings, the client must acquire a new <code>Session</code>.
1679
+ * <p>
1680
+ * All local mappings already present in the <code>Session</code> that
1681
+ * include either the specified <code>prefix</code> or the specified
1682
+ * <code>uri</code> are removed and the new mapping is added.
1683
+ *
1684
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns all prefixes currently mapped to URIs in this
1685
+ * <code>Session</code>.Returns the URI to which the given <code>prefix</code> is mapped as
1686
+ * currently set in this <code>Session</code>.Returns the prefix to which the given <code>uri</code> is mapped as
1687
+ * currently set in this <code>Session</code>.Releases all resources associated with this <code>Session</code>. This
1688
+ * method should be called when a <code>Session</code> is no longer needed.Returns <code>true</code> if this <code>Session</code> object is usable
1689
+ * by the client. Otherwise, returns <code>false</code>. A usable
1690
+ * <code>Session</code> is one that is neither logged-out, timed-out nor in
1691
+ * any other way disconnected from the repository.Adds the specified lock token to this <code>Session</code>. Holding a
1692
+ * lock token makes this <code>Session</code> the owner of the lock
1693
+ * specified by that particular lock token.
1694
+ *
1695
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns an array containing all lock tokens currently held by this
1696
+ * <code>Session</code>. Note that any such tokens will represent
1697
+ * open-scoped locks, since session-scoped locks do not have tokens.
1698
+ *
1699
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Removes the specified lock token from this <code>Session</code>.
1700
+ *
1701
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns the access control manager for this <code>Session</code>.
1702
+ *
1703
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>Returns the retention and hold manager for this <code>Session</code>.
1704
+ *
1705
+ * <p><strong>Sitevision note:</strong> Unsupported operation</p>A constant representing the <code>read</code> action string, used to
1706
+ * determine if this <code>Session</code> has permission to retrieve an item
1707
+ * (and read the value, in the case of a property).A constant representing the <code>add_node</code> action string, used to
1708
+ * determine if this <code>Session</code> has permission to add a new node.A constant representing the <code>set_property</code> action string, used
1709
+ * to determine if this <code>Session</code> has permission to set (add or
1710
+ * modify) a property.A constant representing the <code>remove</code> action string, used to
1711
+ * determine if this <code>Session</code> has permission to remove an item.
1712
+
1713
+ */
1714
+ declare namespace Session {
1715
+ export {
1716
+ getRepository,
1717
+ getUserID,
1718
+ getAttributeNames,
1719
+ getAttribute,
1720
+ getWorkspace,
1721
+ getRootNode,
1722
+ impersonate,
1723
+ getNodeByUUID,
1724
+ getNodeByIdentifier,
1725
+ getItem,
1726
+ getNode,
1727
+ getProperty,
1728
+ itemExists,
1729
+ nodeExists,
1730
+ propertyExists,
1731
+ move,
1732
+ removeItem,
1733
+ save,
1734
+ refresh,
1735
+ hasPendingChanges,
1736
+ getValueFactory,
1737
+ hasPermission,
1738
+ checkPermission,
1739
+ hasCapability,
1740
+ getImportContentHandler,
1741
+ importXML,
1742
+ exportSystemView,
1743
+ exportDocumentView,
1744
+ setNamespacePrefix,
1745
+ getNamespacePrefixes,
1746
+ getNamespaceURI,
1747
+ getNamespacePrefix,
1748
+ logout,
1749
+ isLive,
1750
+ addLockToken,
1751
+ getLockTokens,
1752
+ removeLockToken,
1753
+ getAccessControlManager,
1754
+ getRetentionManager,
1755
+ };
1756
+ }
1757
+
1758
+ export default Session;