Interface ServerConnection
- All Superinterfaces:
java.lang.AutoCloseable
public interface ServerConnection
extends java.lang.AutoCloseable
Encapsulates a connection to an RDFox server. All instances of this
class are single-threaded — that is, no method should be called simultaneously on several threads. However, please note that there is
no thread affinity — that is, methods on one connection can be called from different threads as long as the calls are serialized
externally. The
interrupt()
, duplicate()
, and newDataStoreConnection(String dataStoreName)
methods are exceptions:
they can be invoked in parallel with any other method apart from close()
. Calling close()
in parallel with any other method
will almost certainly crash the JVM. Multiple connections should be used to access a server concurrently, in which case all access to the
server is serialized. A connection must be closed after use to release the resources associated with it.-
Field Summary
Fields Modifier and Type Field Description static byte
ACCESS_TYPE_GRANT
A flag specifying grant access to a resource.static byte
ACCESS_TYPE_NONE
A flag specifying no access to a resource.static byte
ACCESS_TYPE_READ
A flag specifying read access to a resource.static byte
ACCESS_TYPE_STAR
A flag specifying all access types to a resource.static byte
ACCESS_TYPE_WRITE
A flag specifying write access to a resource. -
Method Summary
Modifier and Type Method Description OfflineRequestResult
bringDataStoreOffline(java.lang.String dataStoreName)
Makes sure that the data store with the given name is offline.boolean
bringDataStoreOnline(java.lang.String dataStoreName)
Makes sure that the data store with the given name is online.void
changeRolePassword(java.lang.String currentPassword, java.lang.String newPassword)
Creates the password of the role that is associated with this connection.void
close()
Closes the data store connection by freeing all resources associated with it.boolean
containsDataStore(java.lang.String dataStoreName)
Returnstrue
if the connected server contains a data store with the given name.void
createDataStore(java.lang.String dataStoreName, java.util.Map<java.lang.String,java.lang.String> dataStoreParameters)
Creates a data store with the given name.void
createRole(java.lang.String roleName, java.lang.String password)
Creates a new role with the given name and password.void
createRole(java.lang.String roleName, PasswordSpecificationType passwordSpecificationType, java.lang.String password)
Creates a new role with the given name and password.void
deleteDataStore(java.lang.String dataStoreName)
Deletes a data store with the given name from the server.void
deleteDataStore(java.lang.String dataStoreName, java.lang.String expectedDataStoreUniqueID, long expectedDataStoreVersion)
Deletes a data store with the given name from the server if the data store's unique ID and version match the expected values.void
deleteRole(java.lang.String roleName)
Deletes a role with the given name.DataStoreInfo
describeDataStore(java.lang.String dataStoreName)
Returns information about the data store with the given name.ServerConnection
duplicate()
Creates a new connection to the same data store.java.lang.String
getAgentName()
Returns the name of the agent currently associated with this connection.ComponentInfo
getComponentInfo(boolean extended)
Returns diagnostic information about the server as a tree of objects each providing detailed information about the server.long[]
getMemoryUse()
Returns the current memory use of RDFox.int
getNumberOfThreads()
Returns the number of threads that the server uses for various tasks such as reasoning and data importation.java.util.Map<java.lang.String,java.lang.String>
getParameters()
Returns the parameters that the server was created with.java.lang.String
getRDFoxGitSHA()
Returns the string containing the Git SHA identifying the precise version of the RDFox instance code.java.lang.String
getRDFoxVersion()
Returns the version string of the RDFox instance.java.lang.String
getRolePasswordHash(java.lang.String roleName)
Returns the password hash for the given role name.int
getServerVersion()
Returns the current server version.boolean
grantPrivileges(java.lang.String roleName, java.lang.String resourceSpecifier, byte accessTypesToGrant)
Grants privileges over a resource specifier to a role.boolean
grantRole(java.lang.String roleName, java.lang.String superRoleName)
Grants the membership of a role in another role.void
interrupt()
Tries to interrupt an operation that is running in parallel on this connection.boolean
isDataStoreOnline(java.lang.String dataStoreName)
Checks whether the data store with the given name is onlineboolean
isMemberOf(java.lang.String roleName, java.lang.String superRoleName)
Checks whether the given role is a member of another super-role.java.util.Map<java.lang.String,java.util.Optional<DataStoreInfo>>
listDataStores()
Returns the list of data stores available at the connected server.java.util.Map<java.lang.String,java.lang.Byte>
listPrivileges(java.lang.String roleName)
Lists the privileges of a given role.java.util.List<java.lang.String>
listRoleMembers(java.lang.String roleName)
Lists the roles that are members of the given role.java.util.List<java.lang.String>
listRoleMemberships(java.lang.String roleName)
Lists the roles that the given role is a member of.java.util.List<java.lang.String>
listRoles()
Returns the list of all roles available at the server.void
loadDataStoreFromBinaryFormat(java.lang.String dataStoreName, java.io.File file, java.lang.String decryptionAlgorithm, java.lang.String decryptionKey, java.util.Map<java.lang.String,java.lang.String> dataStoreParameters)
Loads a data store with the given name from a file containing the store saved in the standard or raw format.void
loadDataStoreFromBinaryFormat(java.lang.String dataStoreName, java.io.InputStream inputStream, java.lang.String decryptionAlgorithm, java.lang.String decryptionKey, java.util.Map<java.lang.String,java.lang.String> dataStoreParameters)
Loads a data store with the given name from an input stream containing the store saved in the standard or raw format.DataStoreConnection
newDataStoreConnection(java.lang.String dataStoreName)
Creates a connection to the data store of this server with the given name.boolean
revokePrivileges(java.lang.String roleName, java.lang.String resourceSpecifier, byte accessTypesToRevoke)
Revokes privileges over a resource specifier from a role.boolean
revokeRole(java.lang.String roleName, java.lang.String superRoleName)
Revokes the membership of a role in another role.void
saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.io.File file, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format)
Saves a data store into the specified binary format.void
saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.io.OutputStream outputStream, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format)
Saves a data store into the specified binary format.void
saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.lang.String expectedDataStoreUniqueID, long expectedDataStoreVersion, java.io.File file, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format)
Saves a data store into the specified binary format if the data store's unique ID and version match the expected values.void
saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.lang.String expectedDataStoreUniqueID, long expectedDataStoreVersion, java.io.OutputStream outputStream, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format)
Saves a data store into the specified binary format if the data store's unique ID and version match the expected values.void
setMaxMemoryUse(long maxUsedBytes)
Sets the maximum amount of memory that RDFox is allowed to use.void
setNumberOfThreads(int numberOfThreads)
Sets the number of threads that the server should use for various tasks such as reasoning and data importation.
-
Field Details
-
ACCESS_TYPE_NONE
static final byte ACCESS_TYPE_NONEA flag specifying no access to a resource.- See Also:
- Constant Field Values
-
ACCESS_TYPE_READ
static final byte ACCESS_TYPE_READA flag specifying read access to a resource.- See Also:
- Constant Field Values
-
ACCESS_TYPE_WRITE
static final byte ACCESS_TYPE_WRITEA flag specifying write access to a resource.- See Also:
- Constant Field Values
-
ACCESS_TYPE_GRANT
static final byte ACCESS_TYPE_GRANTA flag specifying grant access to a resource.- See Also:
- Constant Field Values
-
ACCESS_TYPE_STAR
static final byte ACCESS_TYPE_STARA flag specifying all access types to a resource.- See Also:
- Constant Field Values
-
-
Method Details
-
close
void close()Closes the data store connection by freeing all resources associated with it. Once a connection is closed, it cannot be used any further. Calling this method in parallel with any other method runs a very high risk of crashing the JVM.- Specified by:
close
in interfacejava.lang.AutoCloseable
-
interrupt
Tries to interrupt an operation that is running in parallel on this connection. RDFox will make a best effort to interrupt an operation, but there are no guarantees that the operation will indeed be interrupted. An operation will throw anOperationInterruptedException
exception. This method can be called concurrently with any other method apart fromclose()
.- Throws:
JRDFoxException
- thrown if an error is encountered
-
getAgentName
Returns the name of the agent currently associated with this connection.- Returns:
- the name of the agent currently associated with this connection
- Throws:
JRDFoxException
- thrown if there is an error
-
duplicate
Creates a new connection to the same data store. The new connection inherits the role name from this one. The main use of this method is to avoid having to specify the role credentials again.- Returns:
- a new connection to the same server
- Throws:
JRDFoxException
- thrown if an error is encountered
-
getParameters
Returns the parameters that the server was created with.- Returns:
- the parameters of the server
- Throws:
JRDFoxException
- thrown if an error is encountered
-
getRDFoxVersion
Returns the version string of the RDFox instance.- Returns:
- the version string of the RDFox instance
- Throws:
JRDFoxException
- thrown if an error is encountered
-
getRDFoxGitSHA
Returns the string containing the Git SHA identifying the precise version of the RDFox instance code.- Returns:
- the Git SHA string of the RDFox instance
- Throws:
JRDFoxException
- thrown if an error is encountered
-
getMemoryUse
Returns the current memory use of RDFox.- Returns:
- an array of length two where the element with index 0 contains the maximum allowed memory use, and the element with index 1 contains the currently available memory in bytes
- Throws:
JRDFoxException
- thrown if an error is encountered
-
setMaxMemoryUse
Sets the maximum amount of memory that RDFox is allowed to use.- Parameters:
maxUsedBytes
- the maximum amount of memory in bytes that RDFox is allowed to use- Throws:
JRDFoxException
- thrown if an error is encountered
-
getNumberOfThreads
Returns the number of threads that the server uses for various tasks such as reasoning and data importation.- Returns:
- the number of threads used by the server
- Throws:
JRDFoxException
- thrown if an error is encountered
-
setNumberOfThreads
Sets the number of threads that the server should use for various tasks such as reasoning and data importation. This operation can be invoked only if no transaction is active.- Parameters:
numberOfThreads
- the number of threads that the server should use- Throws:
JRDFoxException
- thrown if an error is encountered
-
getServerVersion
Returns the current server version.- Returns:
- the current server version
- Throws:
JRDFoxException
- thrown if an error is encountered
-
getComponentInfo
Returns diagnostic information about the server as a tree of objects each providing detailed information about the server. Note: This information should be used for diagnostics purposes only. The content ofComponentInfo
is subject to change in future version. Callers should not rely on named property or a specific subcomponent being present.- Parameters:
extended
- iftrue
, the information about all data stores will be returned as well- Returns:
- information about the server
- Throws:
JRDFoxException
- thrown if an error is encountered
-
listDataStores
java.util.Map<java.lang.String,java.util.Optional<DataStoreInfo>> listDataStores() throws JRDFoxExceptionReturns the list of data stores available at the connected server. The result is a map from data store names to optional objects containing data store information. If the user has sufficient privileges to access a particular data store, the optional will contain the information about the data store; otherwise, the optional will be empty.- Returns:
- the list data stores available at the server
- Throws:
JRDFoxException
- thrown if an error is encountered
-
containsDataStore
Returnstrue
if the connected server contains a data store with the given name.- Parameters:
dataStoreName
- the name of a data store- Returns:
true
if the server contains a data store with the namedataStoreName
- Throws:
JRDFoxException
- thrown if an error is encountered
-
describeDataStore
Returns information about the data store with the given name.- Parameters:
dataStoreName
- the name of the data store whose information is to be returned- Returns:
- information about the data store
- Throws:
JRDFoxException
- thrown if an error is encountered
-
createDataStore
void createDataStore(java.lang.String dataStoreName, java.util.Map<java.lang.String,java.lang.String> dataStoreParameters) throws JRDFoxExceptionCreates a data store with the given name. The remaining parameters specify the data store type, as well as various data store parameters. The server should not contain a data store with the specified name.- Parameters:
dataStoreName
- the name of the newly created data storedataStoreParameters
- the key-value pairs determining various data store parameters (see Data Store Parameters)- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server already contains a data store with the given name, or if some of the parameters are incorrect)
-
loadDataStoreFromBinaryFormat
void loadDataStoreFromBinaryFormat(java.lang.String dataStoreName, java.io.InputStream inputStream, java.lang.String decryptionAlgorithm, java.lang.String decryptionKey, java.util.Map<java.lang.String,java.lang.String> dataStoreParameters) throws JRDFoxExceptionLoads a data store with the given name from an input stream containing the store saved in the standard or raw format. IfdataStoreParameters
is notnull
, the loaded data store will be initialised using the specified parameters, which are the same as in thecreateDataStore(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)
method. Please note that, if the * input contains a data store in the raw format, the parameters must be exactly the same as in the input. In contrast, if the input contains a data store in the standard format, most parameters (apart from the equality mode) can be overridden; hence, this method can be used to transfer the data from one data store to another. IfdecryptionKey
is notnull
, its content will be interpreted as a base64-encoded key that is to be used to decrypt the input data. The server should not contain a data store with the specified name. If the decryption key is specified but a decryption algorithm is not, then AES-256-CBC is used.- Parameters:
dataStoreName
- the name of the newly created data storeinputStream
- contains the data store encoded using the standard or the raw formatdecryptionAlgorithm
-null
, or the name of the algorithm used to decrypt the input datadecryptionKey
-null
, or a base64-encoded key that is to be used to decrypt the input datadataStoreParameters
-null
, or the key-value pairs determining various data store parameters (see Data Store Parameters)- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server already contains a data store with the given name, or if the file format is incorrect)
-
loadDataStoreFromBinaryFormat
void loadDataStoreFromBinaryFormat(java.lang.String dataStoreName, java.io.File file, java.lang.String decryptionAlgorithm, java.lang.String decryptionKey, java.util.Map<java.lang.String,java.lang.String> dataStoreParameters) throws JRDFoxExceptionLoads a data store with the given name from a file containing the store saved in the standard or raw format. IfdataStoreParameters
is notnull
, the loaded data store will be initialised using the specified parameters, which are the same as in thecreateDataStore(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)
method. Please note that, if the * input contains a data store in the raw format, the parameters must be exactly the same as in the input. In contrast, if the input contains a data store in the standard format, most parameters (apart from the equality mode) can be overridden; hence, this method can be used to transfer the data from one data store to another. IfdecryptionKey
is notnull
, its content will be interpreted as a base64-encoded key that is to be used to decrypt the input data. The server should not contain a data store with the specified name. If the decryption key is specified but a decryption algorithm is not, then AES-256-CBC is used.- Parameters:
dataStoreName
- the name of the newly created data storefile
- contains the data store encoded using the standard or the raw formatdecryptionAlgorithm
-null
, or the name of the algorithm used to decrypt the input datadecryptionKey
-null
, or a base64-encoded key that is to be used to decrypt the input datadataStoreParameters
-null
, or the key-value pairs determining various data store parameters (see Data Store Parameters)- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server already contains a data store with the given name, or if the file format is incorrect)
-
saveDataStoreToBinaryFormat
void saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.io.OutputStream outputStream, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format) throws JRDFoxExceptionSaves a data store into the specified binary format. This operation can be invoked only if no transaction is active. If the encryption key is specified but an encryption algorithm is not, then AES-256-CBC is used.- Parameters:
dataStoreName
- the name of the data store to saveoutputStream
- receives the binary content of the data storeencryptionAlgorithm
-null
, or the name of an encryption algorithm to useencryptionKey
-null
, or a base64-encoded key that is to be used to encrypt the input dataformat
- specifies the format in which the store is saved- Throws:
JRDFoxException
- thrown if an error is encountered
-
saveDataStoreToBinaryFormat
void saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.lang.String expectedDataStoreUniqueID, long expectedDataStoreVersion, java.io.OutputStream outputStream, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format) throws JRDFoxExceptionSaves a data store into the specified binary format if the data store's unique ID and version match the expected values. This operation can be invoked only if no transaction is active. If the encryption key is specified but an encryption algorithm is not, then AES-256-CBC is used.- Parameters:
dataStoreName
- the name of the data store to saveexpectedDataStoreUniqueID
- the expected unique ID of the data storeexpectedDataStoreVersion
- the expected version of the data storeoutputStream
- receives the binary content of the data storeencryptionAlgorithm
-null
, or the name of an encryption algorithm to useencryptionKey
-null
, or a base64-encoded key that is to be used to encrypt the input dataformat
- specifies the format in which the store is saved- Throws:
JRDFoxException
- thrown if an error is encountered
-
saveDataStoreToBinaryFormat
void saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.io.File file, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format) throws JRDFoxExceptionSaves a data store into the specified binary format. This operation can be invoked only if no transaction is active. If the encryption key is specified but an encryption algorithm is not, then AES-256-CBC is used.- Parameters:
dataStoreName
- the name of the data store to savefile
- receives the binary content of the data storeencryptionAlgorithm
-null
, or the name of an encryption algorithm to useencryptionKey
-null
, or a base64-encoded key that is to be used to encrypt the input dataformat
- specifies the format in which the store is saved- Throws:
JRDFoxException
- thrown if an error is encountered
-
saveDataStoreToBinaryFormat
void saveDataStoreToBinaryFormat(java.lang.String dataStoreName, java.lang.String expectedDataStoreUniqueID, long expectedDataStoreVersion, java.io.File file, java.lang.String encryptionAlgorithm, java.lang.String encryptionKey, BinaryDataStoreFormat format) throws JRDFoxExceptionSaves a data store into the specified binary format if the data store's unique ID and version match the expected values. This operation can be invoked only if no transaction is active. If the encryption key is specified but an encryption algorithm is not, then AES-256-CBC is used.- Parameters:
dataStoreName
- the name of the data store to saveexpectedDataStoreUniqueID
- the expected unique ID of the data storeexpectedDataStoreVersion
- the expected version of the data storefile
- receives the binary content of the data storeencryptionAlgorithm
-null
, or the name of an encryption algorithm to useencryptionKey
-null
, or a base64-encoded key that is to be used to encrypt the input dataformat
- specifies the format in which the store is saved- Throws:
JRDFoxException
- thrown if an error is encountered
-
deleteDataStore
Deletes a data store with the given name from the server. A data store can be deleted only if no connections are open to it.- Parameters:
dataStoreName
- the name of the data store to delete- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server does not contain a data store with the given name)
-
deleteDataStore
void deleteDataStore(java.lang.String dataStoreName, java.lang.String expectedDataStoreUniqueID, long expectedDataStoreVersion) throws JRDFoxExceptionDeletes a data store with the given name from the server if the data store's unique ID and version match the expected values. A data store can be deleted only if no connections are open to it.- Parameters:
dataStoreName
- the name of the data store to deleteexpectedDataStoreUniqueID
- the expected unique ID of the data storeexpectedDataStoreVersion
- the expected version of the data store- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server does not contain a data store with the given name)
-
isDataStoreOnline
Checks whether the data store with the given name is online- Parameters:
dataStoreName
- the name of the data store to check- Returns:
true
if the data store with the given name is online- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server does not contain a data store with the given name)
-
bringDataStoreOnline
Makes sure that the data store with the given name is online. If the data store is already online, this is a no-op.- Parameters:
dataStoreName
- the name of the data store to bring online- Returns:
true
if the data store was offline- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server does not contain a data store with the given name)
-
bringDataStoreOffline
Makes sure that the data store with the given name is offline. If the data store is already offline, this is a no-op.- Parameters:
dataStoreName
- the name of the data store to bring offline- Returns:
- describes the result of the request
- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server does not contain a data store with the given name)
-
newDataStoreConnection
Creates a connection to the data store of this server with the given name. The new data store connection uses the same credentials as this server connection.- Parameters:
dataStoreName
- the name of the data store to connect to- Returns:
- a connection to the specified data store
- Throws:
JRDFoxException
- thrown if an error is encountered (e.g., if the server does not contain a data store with the given name)
-
listRoles
Returns the list of all roles available at the server.- Returns:
- the list of all roles available at the server.
- Throws:
JRDFoxException
- thrown if there is an error
-
createRole
Creates a new role with the given name and password.- Parameters:
roleName
- the new role namepassword
- the password of the new role- Throws:
JRDFoxException
- thrown if there is an error
-
createRole
void createRole(java.lang.String roleName, PasswordSpecificationType passwordSpecificationType, java.lang.String password) throws JRDFoxExceptionCreates a new role with the given name and password.- Parameters:
roleName
- the new role namepasswordSpecificationType
- the specification type of the password parameterpassword
- the password, password hash, or empty string as determined by passwordSpecificationType- Throws:
JRDFoxException
- thrown if there is an error
-
deleteRole
Deletes a role with the given name.- Parameters:
roleName
- the name of the role to delete- Throws:
JRDFoxException
- thrown if there is an error
-
changeRolePassword
void changeRolePassword(java.lang.String currentPassword, java.lang.String newPassword) throws JRDFoxExceptionCreates the password of the role that is associated with this connection. The change is performed only if the current password matches.- Parameters:
currentPassword
- the current password of the role associated with this connectionnewPassword
- the new password for the role associated with this connection- Throws:
JRDFoxException
- thrown if there is an error
-
getRolePasswordHash
Returns the password hash for the given role name.- Parameters:
roleName
- the name of the role for which the password hash should be returned- Returns:
- the password hash
- Throws:
JRDFoxException
- thrown if there is an error
-
listRoleMemberships
java.util.List<java.lang.String> listRoleMemberships(java.lang.String roleName) throws JRDFoxExceptionLists the roles that the given role is a member of.- Parameters:
roleName
- the name of the role for which the memberships should be returned- Returns:
- the list of roles that the given role is a member of
- Throws:
JRDFoxException
- thrown if there is an error
-
listRoleMembers
Lists the roles that are members of the given role.- Parameters:
roleName
- the name of the role for which the members should be returned- Returns:
- the list of roles that are members of the given role
- Throws:
JRDFoxException
- thrown if there is an error
-
isMemberOf
boolean isMemberOf(java.lang.String roleName, java.lang.String superRoleName) throws JRDFoxExceptionChecks whether the given role is a member of another super-role.- Parameters:
roleName
- the name of the role for which the check is performedsuperRoleName
- the name of the potential super-role for which the check is performed- Returns:
true
if the given role is a member of another super-role.- Throws:
JRDFoxException
- thrown if there is an error
-
grantRole
boolean grantRole(java.lang.String roleName, java.lang.String superRoleName) throws JRDFoxExceptionGrants the membership of a role in another role.- Parameters:
roleName
- the name of the role that is to be made member ofsuperRoleName
superRoleName
- the name of the role that should getroleName
as member- Returns:
true
if the role was granted,false
if it was already held- Throws:
JRDFoxException
- thrown if there is an error
-
revokeRole
boolean revokeRole(java.lang.String roleName, java.lang.String superRoleName) throws JRDFoxExceptionRevokes the membership of a role in another role.- Parameters:
roleName
- the name of the role that should stop being member ofsuperRoleName
superRoleName
- the name of the role that for whichroleName
should stop being a member- Returns:
true
if the role was revoked,false
if it was not held in the first place- Throws:
JRDFoxException
- thrown if there is an error
-
listPrivileges
java.util.Map<java.lang.String,java.lang.Byte> listPrivileges(java.lang.String roleName) throws JRDFoxExceptionLists the privileges of a given role. The result is a map of resource specifiers to the access types that the role currently has.- Parameters:
roleName
- the name of the role whose privileges are being listed- Returns:
- the map of resource specifiers to the access types (specified as a bit-mask of
ACCESS_TYPE_*
values) - Throws:
JRDFoxException
- thrown if there is an error
-
grantPrivileges
boolean grantPrivileges(java.lang.String roleName, java.lang.String resourceSpecifier, byte accessTypesToGrant) throws JRDFoxExceptionGrants privileges over a resource specifier to a role.- Parameters:
roleName
- the name of the role to which the privileges are being grantedresourceSpecifier
- identifies a resource to which the privileges are being grantedaccessTypesToGrant
- the access types (specified as a bit-mask ofACCESS_TYPE_*
values) that are to be granted- Returns:
true
if the privileges were granted,false
if they were already held- Throws:
JRDFoxException
- thrown if there is an error
-
revokePrivileges
boolean revokePrivileges(java.lang.String roleName, java.lang.String resourceSpecifier, byte accessTypesToRevoke) throws JRDFoxExceptionRevokes privileges over a resource specifier from a role.- Parameters:
roleName
- the name of the role to which the privileges are being grantedresourceSpecifier
- identifies a resource to which the privileges are being grantedaccessTypesToRevoke
- the access types (specified as a bit-mask ofACCESS_TYPE_*
values) that are to be revoked- Returns:
true
if the privileges were revoked,false
if they weren't held in the first place- Throws:
JRDFoxException
- thrown if there is an error
-