org.apache.jackrabbit.rmi.remote.RemoteVersionHistory Maven / Gradle / Ivy
Show all versions of jackrabbit-jcr-rmi Show documentation
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.jackrabbit.rmi.remote;
import java.rmi.RemoteException;
import javax.jcr.RepositoryException;
/**
* @deprecated RMI support is deprecated and will be removed in a future version of Jackrabbit; see Jira ticket JCR-4972 for more information.
*
* Remote version of the JC
* {@link javax.jcr.version.VersionHistory VersionHistory} interface. Used by
* the
* {@link org.apache.jackrabbit.rmi.server.ServerVersionHistory ServerVersionHistory}
* and
* {@link org.apache.jackrabbit.rmi.client.ClientVersionHistory ClientVersionHistory}
* adapters to provide transparent RMI access to remote version histories.
*
* The methods in this interface are documented only with a reference
* to a corresponding VersionHistory method. The remote object will simply
* forward the method call to the underlying VersionHistory instance. Argument
* and return values, as well as possible exceptions, are copied over the
* network. Complex return values (like Versions) are returned as remote
* references to the corresponding remote interfaces. Iterator values
* are transmitted as object arrays. RMI errors are signaled with
* RemoteExceptions.
*
* @see javax.jcr.version.Version
* @see org.apache.jackrabbit.rmi.client.ClientVersionHistory
* @see org.apache.jackrabbit.rmi.server.ServerVersionHistory
*/
@Deprecated(forRemoval = true) public interface RemoteVersionHistory extends RemoteNode {
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getVersionableUUID()} VersionHistory.getVersionableUUID()}
* method.
*
* @return the uuid of the versionable node
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
* @deprecated As of JCR 2.0, {@link #getVersionableIdentifier} should be
* used instead.
*/
String getVersionableUUID() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getVersionableIdentifier()} VersionHistory.getVersionableIdentifier()}
* method.
*
* @return the identifier of the versionable node
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
String getVersionableIdentifier() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getRootVersion() VersionHistory.getRootVersion()}
* method.
*
* @return a Version
object.
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteVersion getRootVersion() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getAllLinearVersions() VersionHistory.getAllLinearVersions()}
* method.
*
* @return linear remote versions
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteIterator getAllLinearVersions() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getAllVersions() VersionHistory.getAllVersions()}
* method.
*
* @return remote versions
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteIterator getAllVersions() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getAllLinearFrozenNodes() VersionHistory.getAllLinearFrozenNodes()}
* method.
*
* @return linear remote frozen nodes
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteIterator getAllLinearFrozenNodes() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getAllFrozenNodes() VersionHistory.getAllFrozenNodes()}
* method.
*
* @return remote frozen nodes
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteIterator getAllFrozenNodes() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getVersion(String) VersionHistory.getVersion(String)}
* method.
*
* @param versionName a version name
* @return a Version
object.
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteVersion getVersion(String versionName)
throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getVersionByLabel(String) VersionHistory.getVersionByLabel(String)}
* method.
*
* @param label a version label
* @return a Version
object.
* @throws RepositoryException if an error occurs.
* @throws RemoteException on RMI errors
*/
RemoteVersion getVersionByLabel(String label)
throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#addVersionLabel(String, String, boolean)
* VersionHistory.addVersionLabel(String, String, boolean)}
* method.
*
* @param versionName the name of the version to which the label is to be added.
* @param label the label to be added.
* @param moveLabel if true
, then if label
is already assigned to a version in
* this version history, it is moved to the new version specified; if false
, then attempting
* to assign an already used label will throw a VersionException
.
*
* @throws RepositoryException if another error occurs.
* @throws RemoteException on RMI errors
*/
void addVersionLabel(String versionName, String label, boolean moveLabel)
throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#removeVersionLabel(String) VersionHistory.removeVersionLabel(String)}
* method.
*
* @param label a version label
* @throws RepositoryException if another error occurs.
* @throws RemoteException on RMI errors
*/
void removeVersionLabel(String label)
throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#hasVersionLabel(String) VersionHistory.hasVersionLabel(String)}
* method.
*
* @param label a version label
* @return a boolean
* @throws RepositoryException on repository errors
* @throws RemoteException on RMI errors
*/
boolean hasVersionLabel(String label) throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#hasVersionLabel(javax.jcr.version.Version, String) hasVersionLabel(Version, String)}
* method.
*
* @param versionUUID The UUID of the version whose labels are to be returned.
* @param label a version label
* @return a boolean
.
* @throws RepositoryException if another error occurs.
* @throws RemoteException on RMI errors
*/
boolean hasVersionLabel(String versionUUID, String label)
throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getVersionLabels() VersionHistory.getVersionLabels()}
* method.
*
* @return a String
array containing all the labels of the version history
* @throws RepositoryException on repository errors
* @throws RemoteException on RMI errors
*/
String[] getVersionLabels() throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#getVersionLabels(javax.jcr.version.Version) VersionHistory.getVersionLabels(Version)}
* method.
*
* @param versionUUID The UUID of the version whose labels are to be returned.
* @return a String
array containing all the labels of the given version
* @throws RepositoryException if another error occurs.
* @throws RemoteException on RMI errors
*/
String[] getVersionLabels(String versionUUID)
throws RepositoryException, RemoteException;
/**
* Remote version of the
* {@link javax.jcr.version.VersionHistory#removeVersion(String) VersionHistory.removeVersion(String)}
* method.
*
* @param versionName the name of a version in this version history.
* @throws RepositoryException if another error occurs.
* @throws RemoteException on RMI errors
*/
void removeVersion(String versionName)
throws RepositoryException, RemoteException;
}