This section is about how handling directories (and vocabularies) with Nuxeo Java Client.
Let's first retrieve directory manager to handle them:
DirectoryManager directoryManager = client.directoryManager();
Directory manager only have two APIs:
- fetchDirectories to fetch all directories configured on Nuxeo Server
 - directory which takes a directory name and returns the directory entity
 
Create
DirectoryEntry entry = new DirectoryEntry();
entry.putIdProperty("foo");
entry.putLabelProperty("Foo");
directoryManager.directory("nature").createEntry(entry);
Fetch
APIs below are available to fetch directory entry:
- fetchEntries which takes nothing
 - fetchEntries which takes currentPageIndex, pageSize, maxResult, sortBy and sortOrder
 - fetchEntry which takes an entry id
 
Let's fetch all entries:
DirectoryEntries entries = directoryManager.directory("nature").fetchEntries();
DirectoryEntry foo = entries.getDirectoryEntry("foo");
Let's fetch our entry:
DirectoryEntry foo = directoryManager.directory("nature").fetchEntry("foo");
Update
APIs below are available to update directory entry:
- updateEntry which takes a directory entry
 
Let's update our entry:
Directory nature = directoryManager.directory("nature");
DirectoryEntry foo = nature.fetchEntry("foo");
foo.putLabelProperty("New Foo");
nature.updateEntry(foo);
As DirectoryEntry is a connectable entity and we get foo from client we can do the following:
DirectoryEntry foo = directoryManager.directory("nature").fetchEntry("foo");
foo.putLabelProperty("New Foo");
foo.update();
Delete
API below is available to delete directory entry:
- deleteEntry which takes a directory entry id
 
Let's delete foo:
directoryManager.directory("nature").deleteEntry("foo");
As DirectoryEntry is a connectable entity and we get foo from client we can do the following:
DirectoryEntry foo = directoryManager.directory("nature").fetchEntry("foo");
foo.delete();