Interface ModifiableRepeater
- All Superinterfaces:
Repeater
- All Known Subinterfaces:
ModifiableIndexableRepeater
,ModifiableModelAwareRepeater
- All Known Implementing Classes:
DefaultModifiableModelAwareRepeater
Interface for modifiable repeaters
-
Method Summary
Modifier and TypeMethodDescriptionaddEntry()
Creates a Repeater entry at the last position.addEntry
(int position) Creates a Repeater entry at the given position.getEntry
(int position) Retrieves the repeater entry at the given position.Retrieves the parent of the currentRepeater
Retrieves the repository data used by thisRepeater
Retrieves the rootDataHolder
of the current repeaterboolean
moveEntries
(Map<Integer, Integer> positionsMapping, int targetSize) Moves the entries according to the given position mapping.void
removeEntries
(Set<Integer> positions) Removes the repeater entries at the given positions.void
removeEntry
(int position) Removes the repeater entry at the given position.Methods inherited from interface org.ametys.plugins.repository.data.holder.group.Repeater
copyTo, copyTo, dataToJSON, dataToJSON, dataToSAX, dataToSAX, getEntries, getSize, hasEntry, hasToMoveEntries
-
Method Details
-
getEntry
Description copied from interface:Repeater
Retrieves the repeater entry at the given position. The position starts at index 1. The position can be an integer between 1 and the repeater size to get an entry from the beginning Or the position can an integer between 0 and - the repeater size to get an entry from the end (0 means at the end, -1 means before the last one and so on) -
addEntry
Creates a Repeater entry at the last position.- Returns:
- the created entry
-
addEntry
Creates a Repeater entry at the given position. The position starts at index 1. The position can be an integer between 1 and the repeater size + 1 to insert an entry from the beginning Or the position can an integer between 0 and - the repeater size to insert an entry from the end (0 means at the end, -1 means before the last one and so on)- Parameters:
position
- The position of the new entry- Returns:
- the created entry
- Throws:
IllegalArgumentException
- if the position is not between the negative and positive repeater size
-
moveEntries
Moves the entries according to the given position mapping. The given position mapping's key is the previous position and the value is the new one The existent entries with no corresponding entry in the position mapping will be removed the given size is taken into account to create new empty entries if needed- Parameters:
positionsMapping
- the position mappingtargetSize
- the target size of the repeater- Returns:
true
if some entries have moved,false
otherwise
-
removeEntries
Removes the repeater entries at the given positions. The position starts at index 1. The positions can be integers between 1 and the repeater size to remove an entry from the beginning Or the positions can integers between 0 and - the repeater size to remove an entry from the end (0 means the last entry, -1 means before the last one and so on)- Parameters:
positions
- The positions of the entries to remove- Throws:
UnknownDataException
- if there is no entry for one of the given positions
-
removeEntry
Removes the repeater entry at the given position. The position starts at index 1. The position can be an integer between 1 and the repeater size to remove an entry from the beginning Or the position can an integer between 0 and - the repeater size to remove an entry from the end (0 means the last entry, -1 means before the last one and so on)- Parameters:
position
- The position of the entry to remove- Throws:
UnknownDataException
- if there is no entry at the given position
-
getRepositoryData
Description copied from interface:Repeater
Retrieves the repository data used by thisRepeater
- Specified by:
getRepositoryData
in interfaceRepeater
- Returns:
- the repository data used by this
Repeater
-
getParentDataHolder
Description copied from interface:Repeater
Retrieves the parent of the currentRepeater
- Specified by:
getParentDataHolder
in interfaceRepeater
- Returns:
- the parent of the current
Repeater
-
getRootDataHolder
Description copied from interface:Repeater
Retrieves the rootDataHolder
of the current repeater- Specified by:
getRootDataHolder
in interfaceRepeater
- Returns:
- the root
DataHolder
-