1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Architecture
============
.. image:: ../img/architecture.png
:alt: Architecture Diagram showing the components interacting
Each icalendar **Calendar** can contain Events, Journal entries,
TODOs and others, called **Components**.
Those entries are grouped by their ``UID``.
Such a ``UID`` defines a **Series** of **Occurrences** that take place at
a given time.
Since each **Component** is different, the **ComponentAdapter** offers a unified
interface to interact with them.
The **Calendar** gets filtered and for each ``UID``,
a **Series** can use one or more **ComponentAdapters** to create
**Occurrences** of what happens in a time span.
These **Occurrences** are used internally and convert to **Components** for further use.
|