/**
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.brixcms.jcr.base.wrapper;
import javax.jcr.NodeIterator;
import javax.jcr.RepositoryException;
import javax.jcr.version.Version;
import javax.jcr.version.VersionHistory;
import javax.jcr.version.VersionIterator;
class VersionHistoryWrapper extends NodeWrapper implements VersionHistory {
public static VersionHistoryWrapper wrap(VersionHistory history, SessionWrapper session) {
if (history == null) {
return null;
} else {
return new VersionHistoryWrapper(history, session);
}
}
private VersionHistoryWrapper(VersionHistory delegate, SessionWrapper session) {
super(delegate, session);
}
public String getVersionableUUID() throws RepositoryException {
return getDelegate().getVersionableIdentifier();
}
public String getVersionableIdentifier() throws RepositoryException {
return getDelegate().getVersionableIdentifier();
}
public Version getRootVersion() throws RepositoryException {
return VersionWrapper.wrap(getDelegate().getRootVersion(), getSessionWrapper());
}
public VersionIterator getAllLinearVersions() throws RepositoryException {
return VersionIteratorWrapper.wrap(getDelegate().getAllLinearVersions(),
getSessionWrapper());
}
public VersionIterator getAllVersions() throws RepositoryException {
return VersionIteratorWrapper.wrap(getDelegate().getAllVersions(), getSessionWrapper());
}
public NodeIterator getAllLinearFrozenNodes() throws RepositoryException {
return NodeIteratorWrapper.wrap(getDelegate().getAllLinearFrozenNodes(),
getSessionWrapper());
}
public NodeIterator getAllFrozenNodes() throws RepositoryException {
return NodeIteratorWrapper.wrap(getDelegate().getAllFrozenNodes(), getSessionWrapper());
}
public Version getVersion(String versionName) throws RepositoryException {
return VersionWrapper.wrap(getDelegate().getVersion(versionName), getSessionWrapper());
}
public Version getVersionByLabel(String label) throws RepositoryException {
return VersionWrapper.wrap(getDelegate().getVersionByLabel(label), getSessionWrapper());
}
public void addVersionLabel(String versionName, String label, boolean moveLabel)
throws RepositoryException {
getDelegate().addVersionLabel(versionName, label, moveLabel);
}
public void removeVersionLabel(String label) throws RepositoryException {
getDelegate().removeVersionLabel(label);
}
public boolean hasVersionLabel(String label) throws RepositoryException {
return getDelegate().hasVersionLabel(label);
}
public boolean hasVersionLabel(Version version, String label) throws RepositoryException {
return getDelegate().hasVersionLabel(unwrap(version), label);
}
public String[] getVersionLabels() throws RepositoryException {
return getDelegate().getVersionLabels();
}
public String[] getVersionLabels(Version version) throws RepositoryException {
return getDelegate().getVersionLabels(version);
}
public void removeVersion(String versionName) throws RepositoryException {
getDelegate().removeVersion(versionName);
}
@Override
public VersionHistory getDelegate() {
return (VersionHistory) super.getDelegate();
}
}