Class ComponentGroup<C extends Component>

  • All Implemented Interfaces:

    public class ComponentGroup<C extends Component>
    extends Object
    implements ComponentListAccessor<C>
    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 the latest revision of an event:
         Calendar calendar = ...
         String uidString = ...
         ComponentGroup group = new ComponentGroup(
              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.
      • getLatestRevision

        public C getLatestRevision()
        Returns the latest component revision based on ascending sequence number and modified date.
      • 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.
        period -
        See Also: