Package org.dspace.content.dao
Interface RelationshipDAO
-
- All Superinterfaces:
GenericDAO<Relationship>
- All Known Implementing Classes:
RelationshipDAOImpl
public interface RelationshipDAO extends GenericDAO<Relationship>
Database Access Object Interface class for the Relationship object The implementation of this class is responsible for all database calls for the Relationship object and is autowired by spring This class should only be accessed from a single service and should never be exposed outside of the API
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intcountByItem(Context context, Item item)This method returns a count of Relationship objects that have the given Item object as a leftItem or a rightItemintcountByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType, boolean isLeft)Count total number of relationships (rows in relationship table) by an item and a relationship type and a boolean indicating whether the item should be the leftItem or the rightItemintcountByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, RelationshipType relationshipType, List<UUID> items, boolean isLeft)Count total number of relationships that match focusItem on the one hand and matches list of related items elsewhere.intcountByRelationshipType(Context context, RelationshipType relationshipType)Count total number of relationships (rows in relationship table) by a relationship typeintcountByTypeName(Context context, String typeName)Count total number of relationships (rows in relationship table) given a typeNameintcountRows(Context context)Count total number of relationships (rows in relationship table)List<Relationship>findByItem(Context context, Item item, boolean excludeTilted)This method returns a list of Relationship objects that have the given Item object as a leftItem or a rightItemList<Relationship>findByItem(Context context, Item item, Integer limit, Integer offset, boolean excludeTilted)This method returns a list of Relationship objects that have the given Item object as a leftItem or a rightItemList<Relationship>findByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType, boolean isLeft, Integer limit, Integer offset)This method returns a list of Relationship objects for the given RelationshipType object.List<Relationship>findByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType, Integer limit, Integer offset)This method returns a list of Relationship objects for the given RelationshipType object.List<Relationship>findByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, RelationshipType relationshipType, List<UUID> items, boolean isLeft, int offset, int limit)This method is used to retrieve relationships that match focusItem on the one hand and matches list of related items elsewhere.List<Relationship>findByRelationshipType(Context context, RelationshipType relationshipType)This method returns a list of Relationship objects for the given RelationshipType object.List<Relationship>findByRelationshipType(Context context, RelationshipType relationshipType, Integer limit, Integer offset)This method returns a list of Relationship objects for the given RelationshipType object.List<Relationship>findByTypeName(Context context, String typeName)This method returns a list of Relationship objects for the given typeNameList<Relationship>findByTypeName(Context context, String typeName, Integer limit, Integer offset)This method returns a list of Relationship objects for the given typeNameintfindNextLeftPlaceByLeftItem(Context context, Item item)This method returns the next leftplace integer to use for a relationship with this item as the leftItemintfindNextRightPlaceByRightItem(Context context, Item item)This method returns the next rightplace integer to use for a relationship with this item as the rightItem-
Methods inherited from interface org.dspace.core.GenericDAO
create, delete, findAll, findAll, findByID, findByID, findMany, findUnique, save
-
-
-
-
Method Detail
-
findByItem
List<Relationship> findByItem(Context context, Item item, boolean excludeTilted) throws SQLException
This method returns a list of Relationship objects that have the given Item object as a leftItem or a rightItem- Parameters:
context- The relevant DSpace contextitem- The item that should be either a leftItem or a rightItem of all the Relationship objects in the returned listexcludeTilted- If true, excludes tilted relationships- Returns:
- The list of Relationship objects that contain either a left or a right item that is equal to the given item
- Throws:
SQLException- If something goes wrong
-
findByItem
List<Relationship> findByItem(Context context, Item item, Integer limit, Integer offset, boolean excludeTilted) throws SQLException
This method returns a list of Relationship objects that have the given Item object as a leftItem or a rightItem- Parameters:
context- The relevant DSpace contextitem- The item that should be either a leftItem or a rightItem of all the Relationship objects in the returned listlimit- paging limitoffset- paging offsetexcludeTilted- If true, excludes tilted relationships- Returns:
- The list of Relationship objects that contain either a left or a right item that is equal to the given item
- Throws:
SQLException- If something goes wrong
-
findNextLeftPlaceByLeftItem
int findNextLeftPlaceByLeftItem(Context context, Item item) throws SQLException
This method returns the next leftplace integer to use for a relationship with this item as the leftItem- Parameters:
context- The relevant DSpace contextitem- The item to be matched on leftItem- Returns:
- The next integer to be used for the leftplace of a relationship with the given item as a left item
- Throws:
SQLException- If something goes wrong
-
findNextRightPlaceByRightItem
int findNextRightPlaceByRightItem(Context context, Item item) throws SQLException
This method returns the next rightplace integer to use for a relationship with this item as the rightItem- Parameters:
context- The relevant DSpace contextitem- The item to be matched on rightItem- Returns:
- The next integer to be used for the rightplace of a relationship with the given item as a right item
- Throws:
SQLException- If something goes wrong
-
findByRelationshipType
List<Relationship> findByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException
This method returns a list of Relationship objects for the given RelationshipType object. It will construct a list of all Relationship objects that have the given RelationshipType object as the relationshipType property- Parameters:
context- The relevant DSpace contextrelationshipType- The RelationshipType object to be checked on- Returns:
- A list of Relationship objects that have the given RelationshipType object as the relationshipType property
- Throws:
SQLException- If something goes wrong
-
findByRelationshipType
List<Relationship> findByRelationshipType(Context context, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException
This method returns a list of Relationship objects for the given RelationshipType object. It will construct a list of all Relationship objects that have the given RelationshipType object as the relationshipType property- Parameters:
context- The relevant DSpace contextrelationshipType- The RelationshipType object to be checked onlimit- paging limitoffset- paging offset- Returns:
- A list of Relationship objects that have the given RelationshipType object as the relationshipType property
- Throws:
SQLException- If something goes wrong
-
findByItemAndRelationshipType
List<Relationship> findByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException
This method returns a list of Relationship objects for the given RelationshipType object. It will construct a list of all Relationship objects that have the given RelationshipType object as the relationshipType property- Parameters:
context- The relevant DSpace contextrelationshipType- The RelationshipType object to be checked onlimit- paging limitoffset- paging offsetitem- item to filter by- Returns:
- A list of Relationship objects that have the given RelationshipType object as the relationshipType property
- Throws:
SQLException- If something goes wrong
-
findByItemAndRelationshipType
List<Relationship> findByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType, boolean isLeft, Integer limit, Integer offset) throws SQLException
This method returns a list of Relationship objects for the given RelationshipType object. It will construct a list of all Relationship objects that have the given RelationshipType object as the relationshipType property- Parameters:
context- The relevant DSpace contextrelationshipType- The RelationshipType object to be checked onlimit- paging limitoffset- paging offsetitem- item to filter byisLeft- Is item left or right- Returns:
- A list of Relationship objects that have the given RelationshipType object as the relationshipType property
- Throws:
SQLException- If something goes wrong
-
findByTypeName
List<Relationship> findByTypeName(Context context, String typeName) throws SQLException
This method returns a list of Relationship objects for the given typeName- Parameters:
context- The relevant DSpace contexttypeName- The leftward or rightward typeName of the relationship type- Returns:
- A list of Relationship objects that have the given RelationshipType object as the relationshipType property
- Throws:
SQLException- If something goes wrong
-
findByTypeName
List<Relationship> findByTypeName(Context context, String typeName, Integer limit, Integer offset) throws SQLException
This method returns a list of Relationship objects for the given typeName- Parameters:
context- The relevant DSpace contexttypeName- The leftward or rightward typeName of the relationship typelimit- paging limitoffset- paging offset- Returns:
- A list of Relationship objects that have the given RelationshipType object as the relationshipType property
- Throws:
SQLException- If something goes wrong
-
countRows
int countRows(Context context) throws SQLException
Count total number of relationships (rows in relationship table)- Parameters:
context- context- Returns:
- total count
- Throws:
SQLException- if database error
-
countByRelationshipType
int countByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException
Count total number of relationships (rows in relationship table) by a relationship type- Parameters:
context- contextrelationshipType- relationship type to filter by- Returns:
- total count
- Throws:
SQLException- if database error
-
countByItem
int countByItem(Context context, Item item) throws SQLException
This method returns a count of Relationship objects that have the given Item object as a leftItem or a rightItem- Parameters:
context- The relevant DSpace contextitem- The item that should be either a leftItem or a rightItem of all the Relationship objects in the returned list- Returns:
- The list of Relationship objects that contain either a left or a right item that is equal to the given item
- Throws:
SQLException- If something goes wrong
-
countByItemAndRelationshipType
int countByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType, boolean isLeft) throws SQLException
Count total number of relationships (rows in relationship table) by an item and a relationship type and a boolean indicating whether the item should be the leftItem or the rightItem- Parameters:
context- contextrelationshipType- relationship type to filter byitem- item to filter byisLeft- Indicating whether the counted Relationships should have the given Item on the left side or not- Returns:
- total count
- Throws:
SQLException- if database error
-
countByTypeName
int countByTypeName(Context context, String typeName) throws SQLException
Count total number of relationships (rows in relationship table) given a typeName- Parameters:
context- contexttypeName- the relationship typeName to filter by- Returns:
- total count
- Throws:
SQLException- if database error
-
findByItemAndRelationshipTypeAndList
List<Relationship> findByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, RelationshipType relationshipType, List<UUID> items, boolean isLeft, int offset, int limit) throws SQLException
This method is used to retrieve relationships that match focusItem on the one hand and matches list of related items elsewhere.- Parameters:
context- DSpace context objectfocusUUID- UUID of Item that will match left side if the param isLeft is true otherwise right siderelationshipType- Relationship type to filter byitems- List of UUID that will use to filter other side respect the focusUUIDisLeft- Indicating whether the counted Relationships should have the given Item on the left side or notlimit- paging limitoffset- paging offset- Returns:
- Throws:
SQLException- If database error
-
countByItemAndRelationshipTypeAndList
int countByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, RelationshipType relationshipType, List<UUID> items, boolean isLeft) throws SQLException
Count total number of relationships that match focusItem on the one hand and matches list of related items elsewhere.- Parameters:
context- DSpace context objectfocusUUID- UUID of Item that will match left side if the param isLeft is true otherwise right siderelationshipType- Relationship type to filter byitems- List of UUID that will use to filter other side respect the focusUUIDisLeft- Indicating whether the counted Relationships should have the given Item on the left side or not- Returns:
- Throws:
SQLException- If database error
-
-