IMPORTANT: This project is not stable yet and may experience changes. Use of this library is encouraged.
A Java 17 client library designed for iRODS 4.3.2+.
This library provides a low-level API which exposes data types and functions seen in the iRODS C API. A high-level API is provided to ease use as well.
- Supports SSL/TLS for secure communication
- Configurable socket options
- Minimum use of abstractions
- Easy to use / Easy to understand
- Enables patterns supported by the iRODS C/C++ APIs
- Supports PAM via the
pam_password
authentication scheme
The library is available via the Central Maven Repository.
To use it, add the following to your pom.xml file.
<dependency>
<groupId>org.irods</groupId>
<artifactId>irods4j</artifactId>
<version>0.1.0</version>
</dependency>
See the high-level unit tests for usage examples.
- IRODSConnection
- IRODSConnectionPool
- IRODSResources
- IRODSTickets
- IRODSUsers
- IRODSZones
- IRODSCollectionIterator
- IRODSFilesystem
- IRODSRecursiveCollectionIterator
- IRODSReplicas
- IRODSQuery
- IRODSDataObjectStream
- IRODSDataObjectInputStream
- IRODSDataObjectOutputStream
- IRODSMetadata
- IRODSRules
IMPORTANT: Not all API operations are supported by the high-level APIs.
For those users needing more control, see IRODSApi.java for the available low-level APIs. The low-level APIs provided by this library mirror the design of the C API.
For proper usage, see the implementation of various high-level APIs and their C counterparts.
See the low-level unit tests for usage examples.
See SECURITY.md for details.