---+ Entity Change Notifications

To receive Atlas entity notifications a consumer should be obtained through the notification interface.  Entity change notifications are sent every time a change is made to an entity.  Operations that result in an entity change notification are:
   * <code>ENTITY_CREATE</code> - Create a new entity.
   * <code>ENTITY_UPDATE</code> - Update an attribute of an existing entity.
   * <code>TRAIT_ADD</code> - Add a trait to an entity.
   * <code>TRAIT_DELETE</code> - Delete a trait from an entity.

 <verbatim>
    // Obtain provider through injection…
    Provider<NotificationInterface> provider;

    // Get the notification interface
    NotificationInterface notification = provider.get();

    // Create consumers
    List<NotificationConsumer<EntityNotification>> consumers =
       notification.createConsumers(NotificationInterface.NotificationType.ENTITIES, 1);
</verbatim>


The consumer exposes the Iterator interface that should be used to get the entity notifications as they are posted.  The hasNext() method blocks until a notification is available.

<verbatim>
    while(consumer.hasNext()) {
        EntityNotification notification = consumer.next();

        IReferenceableInstance entity = notification.getEntity();
        …
    }
</verbatim>