/** * 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.api.wrapper; import org.brixcms.jcr.api.JcrNodeIterator; import org.brixcms.jcr.api.JcrSession; import org.brixcms.jcr.api.JcrVersion; import org.brixcms.jcr.api.JcrVersionHistory; import org.brixcms.jcr.api.JcrVersionIterator; import javax.jcr.version.Version; import javax.jcr.version.VersionHistory; /** * @author Matej Knopp * @author igor.vaynberg */ class VersionHistoryWrapper extends NodeWrapper implements JcrVersionHistory { public static JcrVersionHistory wrap(VersionHistory delegate, JcrSession session) { if (delegate == null) { return null; } else { return new VersionHistoryWrapper(delegate, session); } } protected VersionHistoryWrapper(VersionHistory delegate, JcrSession session) { super(delegate, session); } @Override public VersionHistory getDelegate() { return (VersionHistory) super.getDelegate(); } /** * @deprecated */ @Deprecated public String getVersionableUUID() { return executeCallback(new Callback<String>() { public String execute() throws Exception { return getDelegate().getVersionableUUID(); } }); } public String getVersionableIdentifier() { return executeCallback(new Callback<String>() { public String execute() throws Exception { return getDelegate().getVersionableIdentifier(); } }); } public JcrVersion getRootVersion() { return executeCallback(new Callback<JcrVersion>() { public JcrVersion execute() throws Exception { return JcrVersion.Wrapper.wrap(getDelegate().getRootVersion(), getJcrSession()); } }); } public JcrVersionIterator getAllLinearVersions() { return executeCallback(new Callback<JcrVersionIterator>() { public JcrVersionIterator execute() throws Exception { return JcrVersionIterator.Wrapper.wrap(getDelegate().getAllLinearVersions(), getJcrSession()); } }); } public JcrVersionIterator getAllVersions() { return executeCallback(new Callback<JcrVersionIterator>() { public JcrVersionIterator execute() throws Exception { return JcrVersionIterator.Wrapper.wrap(getDelegate().getAllVersions(), getJcrSession()); } }); } public JcrNodeIterator getAllLinearFrozenNodes() { return executeCallback(new Callback<JcrNodeIterator>() { public JcrNodeIterator execute() throws Exception { return JcrNodeIterator.Wrapper.wrap(getDelegate().getAllLinearFrozenNodes(), getJcrSession()); } }); } public JcrNodeIterator getAllFrozenNodes() { return executeCallback(new Callback<JcrNodeIterator>() { public JcrNodeIterator execute() throws Exception { return JcrNodeIterator.Wrapper.wrap(getDelegate().getAllFrozenNodes(), getJcrSession()); } }); } public JcrVersion getVersion(final String versionName) { return executeCallback(new Callback<JcrVersion>() { public JcrVersion execute() throws Exception { return JcrVersion.Wrapper.wrap(getDelegate().getVersion(versionName), getJcrSession()); } }); } public JcrVersion getVersionByLabel(final String label) { return executeCallback(new Callback<JcrVersion>() { public JcrVersion execute() throws Exception { return JcrVersion.Wrapper.wrap(getDelegate().getVersionByLabel(label), getJcrSession()); } }); } public void addVersionLabel(final String versionName, final String label, final boolean moveLabel) { executeCallback(new VoidCallback() { public void execute() throws Exception { getDelegate().addVersionLabel(versionName, label, moveLabel); } }); } public void removeVersionLabel(final String label) { executeCallback(new VoidCallback() { public void execute() throws Exception { removeVersionLabel(label); } }); } public boolean hasVersionLabel(final String label) { return executeCallback(new Callback<Boolean>() { public Boolean execute() throws Exception { return getDelegate().hasVersionLabel(label); } }); } public boolean hasVersionLabel(final Version version, final String label) { return executeCallback(new Callback<Boolean>() { public Boolean execute() throws Exception { return getDelegate().hasVersionLabel(unwrap(version), label); } }); } public String[] getVersionLabels() { return executeCallback(new Callback<String[]>() { public String[] execute() throws Exception { return getDelegate().getVersionLabels(); } }); } public String[] getVersionLabels(final Version version) { return executeCallback(new Callback<String[]>() { public String[] execute() throws Exception { return getDelegate().getVersionLabels(unwrap(version)); } }); } public void removeVersion(final String versionName) { executeCallback(new VoidCallback() { public void execute() throws Exception { removeVersion(versionName); } }); } }