public interface ExtRepository
Most data transferred in this class is in the external repository's domain format. For example, external repository data such as object keys and user names are strings expressed in the native external repository format.
One exception is the search(SearchContext, Query,
ExtRepositoryQueryMapper)
method where the Query
contains Liferay
identifiers and user names. To help with this, the ExtRepositoryQueryMapper
instance can be used to translate such IDs to the
native external repository format.
Modifier and Type | Method and Description |
---|---|
ExtRepositoryFileEntry |
addExtRepositoryFileEntry(java.lang.String extRepositoryParentFolderKey,
java.lang.String mimeType,
java.lang.String title,
java.lang.String description,
java.lang.String changeLog,
java.io.InputStream inputStream)
Adds an external repository file entry and associated metadata based on
the
InputStream object. |
ExtRepositoryFolder |
addExtRepositoryFolder(java.lang.String extRepositoryParentFolderKey,
java.lang.String name,
java.lang.String description)
Adds an external repository folder.
|
ExtRepositoryFileVersion |
cancelCheckOut(java.lang.String extRepositoryFileEntryKey)
Cancels the check out of the external repository file.
|
void |
checkInExtRepositoryFileEntry(java.lang.String extRepositoryFileEntryKey,
boolean createMajorVersion,
java.lang.String changeLog)
Checks in the external repository file entry.
|
ExtRepositoryFileEntry |
checkOutExtRepositoryFileEntry(java.lang.String extRepositoryFileEntryKey)
Checks out the external repository file entry.
|
<T extends ExtRepositoryObject> |
copyExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType,
java.lang.String extRepositoryFileEntryKey,
java.lang.String newExtRepositoryFolderKey,
java.lang.String newTitle)
Copies the external repository object to a different parent folder.
|
void |
deleteExtRepositoryObject(ExtRepositoryObjectType<? extends ExtRepositoryObject> extRepositoryObjectType,
java.lang.String extRepositoryObjectKey)
Deletes the external repository object.
|
java.lang.String |
getAuthType() |
java.io.InputStream |
getContentStream(ExtRepositoryFileEntry extRepositoryFileEntry)
Returns the content stream of the external repository file entry.
|
java.io.InputStream |
getContentStream(ExtRepositoryFileVersion extRepositoryFileVersion)
Returns the content stream of the external repository file version.
|
ExtRepositoryFileVersion |
getExtRepositoryFileVersion(ExtRepositoryFileEntry extRepositoryFileEntry,
java.lang.String version)
Returns the external repository file version of the file entry,
identified by the version name.
|
ExtRepositoryFileVersionDescriptor |
getExtRepositoryFileVersionDescriptor(java.lang.String extRepositoryFileVersionKey)
Returns the
ExtRepositoryFileVersionDescriptor translated from
the repository file version key. |
java.util.List<ExtRepositoryFileVersion> |
getExtRepositoryFileVersions(ExtRepositoryFileEntry extRepositoryFileEntry)
Returns the external repository file versions of the external repository
file entry.
|
<T extends ExtRepositoryObject> |
getExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType,
java.lang.String extRepositoryObjectKey)
Returns the external repository object matching the type and key.
|
<T extends ExtRepositoryObject> |
getExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType,
java.lang.String extRepositoryFolderKey,
java.lang.String title)
Returns the external repository object matching the type and title, in
the parent folder.
|
<T extends ExtRepositoryObject> |
getExtRepositoryObjects(ExtRepositoryObjectType<T> extRepositoryObjectType,
java.lang.String extRepositoryFolderKey)
Returns the external repository objects matching the type, in the parent
folder.
|
int |
getExtRepositoryObjectsCount(ExtRepositoryObjectType<? extends ExtRepositoryObject> extRepositoryObjectType,
java.lang.String extRepositoryFolderKey)
Returns the number of elements in the external repository folder matching
the object type.
|
ExtRepositoryFolder |
getExtRepositoryParentFolder(ExtRepositoryObject extRepositoryObject)
Returns the external repository parent folder of the external repository
object.
|
java.lang.String |
getLiferayLogin(java.lang.String extRepositoryLogin)
Returns the Liferay login value, which is mapped from the user's external
repository login value.
|
java.lang.String |
getRootFolderKey()
Returns the primary key of the external repository root folder.
|
java.util.List<java.lang.String> |
getSubfolderKeys(java.lang.String extRepositoryFolderKey,
boolean recurse)
Returns the keys of the external repository subfolders stored inside the
external repository folder.
|
java.lang.String[] |
getSupportedConfigurations()
Returns the supported configurations for the external repository.
|
java.lang.String[][] |
getSupportedParameters()
Returns the supported external repository configuration parameters
indexed by configuration type.
|
void |
initRepository(com.liferay.portal.kernel.util.UnicodeProperties typeSettingsUnicodeProperties,
CredentialsProvider credentialsProvider)
Initializes the external repository and checks the connectivity between
the external repository and Liferay Portal.
|
<T extends ExtRepositoryObject> |
moveExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType,
java.lang.String extRepositoryObjectKey,
java.lang.String newExtRepositoryFolderKey,
java.lang.String newTitle)
Moves the external repository object to a different location.
|
java.util.List<ExtRepositorySearchResult<?>> |
search(com.liferay.portal.kernel.search.SearchContext searchContext,
com.liferay.portal.kernel.search.Query query,
ExtRepositoryQueryMapper extRepositoryQueryMapper)
Returns the external repository objects fulfilling the query.
|
ExtRepositoryFileEntry |
updateExtRepositoryFileEntry(java.lang.String extRepositoryFileEntryKey,
java.lang.String mimeType,
java.io.InputStream inputStream)
Updates the external repository file entry's content.
|
ExtRepositoryFileEntry addExtRepositoryFileEntry(java.lang.String extRepositoryParentFolderKey, java.lang.String mimeType, java.lang.String title, java.lang.String description, java.lang.String changeLog, java.io.InputStream inputStream) throws com.liferay.portal.kernel.exception.PortalException
InputStream
object.extRepositoryParentFolderKey
- the primary key of the repository
file entry's parent foldermimeType
- the repository file entry's MIME typetitle
- the repository file entry's namedescription
- the repository file entry's descriptionchangeLog
- the repository file entry's version change loginputStream
- the repository file entry's data (optionally
null
)com.liferay.portal.kernel.exception.PortalException
- if the repository parent folder could not be
found or if the repository file entry's information was invalidExtRepositoryFolder addExtRepositoryFolder(java.lang.String extRepositoryParentFolderKey, java.lang.String name, java.lang.String description) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryParentFolderKey
- the primary key of the repository
folder's parent foldername
- the repository folder's namedescription
- the repository folder's descriptioncom.liferay.portal.kernel.exception.PortalException
- if the repository parent folder could not be
found or if the repository folder's information was invalidExtRepositoryFileVersion cancelCheckOut(java.lang.String extRepositoryFileEntryKey) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntryKey
- the primary key of the repository file
entrynull
if no
version was availablecom.liferay.portal.kernel.exception.PortalException
- if the repository file entry's information was
invalidvoid checkInExtRepositoryFileEntry(java.lang.String extRepositoryFileEntryKey, boolean createMajorVersion, java.lang.String changeLog) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntryKey
- the primary key of the repository file
entrycreateMajorVersion
- whether to increase the major or minor version
numberchangeLog
- the description of the changes being checked incom.liferay.portal.kernel.exception.PortalException
- if the repository file entry's information was
invalidExtRepositoryFileEntry checkOutExtRepositoryFileEntry(java.lang.String extRepositoryFileEntryKey) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntryKey
- the primary key of the repository file
entrycom.liferay.portal.kernel.exception.PortalException
- if the repository file entry's information was
invalid<T extends ExtRepositoryObject> T copyExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType, java.lang.String extRepositoryFileEntryKey, java.lang.String newExtRepositoryFolderKey, java.lang.String newTitle) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the repository object's type (file or
folder)extRepositoryFileEntryKey
- the primary key of the repository
objectnewExtRepositoryFolderKey
- the primary key of the repository
destination foldernewTitle
- the new name of the repository object in the destination
foldercom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurredvoid deleteExtRepositoryObject(ExtRepositoryObjectType<? extends ExtRepositoryObject> extRepositoryObjectType, java.lang.String extRepositoryObjectKey) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the repository object's type (file or
folder)extRepositoryObjectKey
- the primary key of the repository objectcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurredjava.lang.String getAuthType()
java.io.InputStream getContentStream(ExtRepositoryFileEntry extRepositoryFileEntry) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntry
- the primary key of the repository file
entrycom.liferay.portal.kernel.exception.PortalException
- if the repository file entry's information was
invalidjava.io.InputStream getContentStream(ExtRepositoryFileVersion extRepositoryFileVersion) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileVersion
- the primary key of the repository file
versioncom.liferay.portal.kernel.exception.PortalException
- if the repository file version's information was
invalidExtRepositoryFileVersion getExtRepositoryFileVersion(ExtRepositoryFileEntry extRepositoryFileEntry, java.lang.String version) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntry
- the primary key of the repository file
entryversion
- the repository version name (e.g. 1.0
)com.liferay.portal.kernel.exception.PortalException
- if the repository file entry or version
information was invalidExtRepositoryFileVersionDescriptor getExtRepositoryFileVersionDescriptor(java.lang.String extRepositoryFileVersionKey)
ExtRepositoryFileVersionDescriptor
translated from
the repository file version key. The descriptor describes the external
repository file entry key and version name.extRepositoryFileVersionKey
- the repository file version's keyExtRepositoryFileVersionDescriptor
translated from
the repository file version keyjava.util.List<ExtRepositoryFileVersion> getExtRepositoryFileVersions(ExtRepositoryFileEntry extRepositoryFileEntry) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntry
- the primary key of the repository file
entrycom.liferay.portal.kernel.exception.PortalException
- if the repository file entry was invalid<T extends ExtRepositoryObject> T getExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType, java.lang.String extRepositoryObjectKey) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the repository object's type. Use ExtRepositoryObjectType.FILE
, ExtRepositoryObjectType.FOLDER
, or ExtRepositoryObjectType.OBJECT
to specify file, folder, or both,
respectively.extRepositoryObjectKey
- the primary key of the repository objectcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurred<T extends ExtRepositoryObject> T getExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType, java.lang.String extRepositoryFolderKey, java.lang.String title) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the repository object's type. Use ExtRepositoryObjectType.FILE
, ExtRepositoryObjectType.FOLDER
, or ExtRepositoryObjectType.OBJECT
to specify file, folder, or both,
respectively.extRepositoryFolderKey
- the primary key of the repository object's
parent foldertitle
- the repository object's namecom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurred<T extends ExtRepositoryObject> java.util.List<T> getExtRepositoryObjects(ExtRepositoryObjectType<T> extRepositoryObjectType, java.lang.String extRepositoryFolderKey) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the type of repository objects to return.
Use ExtRepositoryObjectType.FILE
, ExtRepositoryObjectType.FOLDER
, or ExtRepositoryObjectType.OBJECT
to specify file, folder, or both,
respectively.extRepositoryFolderKey
- the primary key of the repository folder
to searchcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurredint getExtRepositoryObjectsCount(ExtRepositoryObjectType<? extends ExtRepositoryObject> extRepositoryObjectType, java.lang.String extRepositoryFolderKey) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the repository object type to count. Use
ExtRepositoryObjectType.FILE
, ExtRepositoryObjectType.FOLDER
, or ExtRepositoryObjectType.OBJECT
to specify file, folder, or both,
respectively.extRepositoryFolderKey
- the primary key of the repository folder
to searchcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurredExtRepositoryFolder getExtRepositoryParentFolder(ExtRepositoryObject extRepositoryObject) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObject
- the repository object (file or folder)com.liferay.portal.kernel.exception.PortalException
- if the repository object's information was
invalidjava.lang.String getLiferayLogin(java.lang.String extRepositoryLogin)
getAuthType()
method. The format of the repository login is specific
for each repository implementation.extRepositoryLogin
- the user's repository login valuejava.lang.String getRootFolderKey() throws com.liferay.portal.kernel.exception.PortalException
com.liferay.portal.kernel.exception.PortalException
- if the repository root folder could not be
accessedjava.util.List<java.lang.String> getSubfolderKeys(java.lang.String extRepositoryFolderKey, boolean recurse) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFolderKey
- the primary key of the repository folderrecurse
- whether to recurse through each repository subfoldercom.liferay.portal.kernel.exception.PortalException
- if the repository folder's information was
invalidjava.lang.String[] getSupportedConfigurations()
getSupportedParameters()
java.lang.String[][] getSupportedParameters()
UnicodeProperties
object passed to the initRepository(UnicodeProperties, CredentialsProvider)
method.getSupportedConfigurations()
void initRepository(com.liferay.portal.kernel.util.UnicodeProperties typeSettingsUnicodeProperties, CredentialsProvider credentialsProvider) throws com.liferay.portal.kernel.exception.PortalException
This method uses the credentials provided by the CredentialsProvider
object to authenticate to the repository. In
addition, the method acquires the repository-specific configuration
parameters from the type settings properties parameter. The parameters
contained in the type settings properties parameter object are indexed by
the key names returned by the getSupportedParameters()
method.
This method is called only once, the first time the repository is used.
typeSettingsUnicodeProperties
- the type settings propertiescredentialsProvider
- the Liferay Portal username and passwordcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurred<T extends ExtRepositoryObject> T moveExtRepositoryObject(ExtRepositoryObjectType<T> extRepositoryObjectType, java.lang.String extRepositoryObjectKey, java.lang.String newExtRepositoryFolderKey, java.lang.String newTitle) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryObjectType
- the repository object's type (file or
folder)extRepositoryObjectKey
- the primary key of the repository objectnewExtRepositoryFolderKey
- the primary key of the destination
repository foldernewTitle
- the new name of the repository object (may not change)com.liferay.portal.kernel.exception.PortalException
- if the repository object could not be moved or if
a portal exception occurredjava.util.List<ExtRepositorySearchResult<?>> search(com.liferay.portal.kernel.search.SearchContext searchContext, com.liferay.portal.kernel.search.Query query, ExtRepositoryQueryMapper extRepositoryQueryMapper) throws com.liferay.portal.kernel.exception.PortalException
The limitations are repository specific, which means there is a specific
set of constraints for each type of external repository (Documentum,
SharePoint, etc). This method is given a Query
object, which is a
logic expression matching Lucene's capabilities. Implementors of external
repositories must map that query to a native repository query. Some
external repositories may be missing some of Lucene's capabilities, so
the query may not be fully translated.
searchContext
- the search context to be applied. The folder ID,
start bound, and end bound attributes must be set in this search
context.query
- the logical expression describing the query to be
performed. This may need to be translated to an equivalent native
repository query.extRepositoryQueryMapper
- the repository query mapper to translate
Liferay IDs to the native repository formatcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurredExtRepositoryFileEntry updateExtRepositoryFileEntry(java.lang.String extRepositoryFileEntryKey, java.lang.String mimeType, java.io.InputStream inputStream) throws com.liferay.portal.kernel.exception.PortalException
extRepositoryFileEntryKey
- the primary key of the repository file
entrymimeType
- the repository file entry's MIME typeinputStream
- the new repository file entry's contentcom.liferay.portal.kernel.exception.PortalException
- if a portal exception occurred