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