Annotations provide data about a component that is not part of the component itself. They have no direct effect on the operation of the component they annotate. Rather, they are mainly used by a tool or a manager to examine at run-time. The content and meanings of annotations totally depend on the tool or the manager the developer uses. For example, a data-binding manager might examine annotations to know the data source that the value of a component will be stored.