Class ComponentGroup<C extends Component>


  • public class ComponentGroup<C extends Component>
    extends Object
    Support for operations applicable to a group of components. Typically this class is used to manage component revisions (whereby each revision is a separate component), and the resulting output of such group functions. Example - Find latest revision of an event:
         Calendar calendar = ...
         String uidString = ...
    
         ComponentGroup group = new ComponentGroup(
              calendar.getComponents(Component.VEVENT),
              new Uid(uidString));
    
         return group.getLatestRevision();
     
    Created by fortuna on 20/07/2017.
    • Constructor Detail

      • ComponentGroup

        public ComponentGroup​(List<C> components,
                              Uid uid)
      • ComponentGroup

        public ComponentGroup​(List<C> components,
                              Uid uid,
                              RecurrenceId recurrenceId)
    • Method Detail

      • getRevisions

        public List<C> getRevisions()
        Apply filter to all components to create a subset containing components matching the specified UID.
        Returns:
      • getLatestRevision

        public C getLatestRevision()
        Returns the latest component revision based on ascending sequence number and modified date.
        Returns:
      • calculateRecurrenceSet

        public <T extends TemporalList<Period<T>> calculateRecurrenceSet​(Period<T> period)
        Calculate all recurring periods for the specified date range. This method will take all revisions into account when generating the set. Component revisions with a RECURRENCE_ID property are processed last, as they override instances in the default recurrence set.
        Parameters:
        period -
        Returns:
        See Also:
        Component.calculateRecurrenceSet(Period)