/* * Copyright (c) 2008-2012 EMC Corporation * All Rights Reserved */ package com.emc.storageos.volumecontroller.impl.monitoring; import java.net.URI; /** * Defines an interface for providing the data for {@link Event events} recorded * in the database. Implementation specific event monitors can define concrete * classes that implement this interface and encapsulate the implementation * specific logic for providing the event data. These classes can then record * the event using the {@link RecordableEventManager}. */ public interface RecordableEvent { /** * Get the id for the tenant to which the resource impacted by the event * belongs. * * @return The tenant id for the event. */ public URI getTenantId(); /** * Get the user id for the event. * * @return The user id for the event. */ public URI getUserId(); /** * Get the id for the project to which the resource impacted by the event * belongs. * * @return The project id for the event. */ public URI getProjectId(); /** * Get the vpool associated with the resource impacted by the event. * * @return The vpool for the event. */ public URI getVirtualPool(); /** * Get the identifier for the service that generated the event. * * @return The service identifier for the event. */ public String getService(); /** * Get the id of the resource impacted by the event. * * @return The resource id for the event. */ public URI getResourceId(); /** * Get the event description * * @return The event description. */ public String getDescription(); /** * Get the time the event occurred. * * @return The time the event occurred. */ public long getTimestamp(); /** * Get the event type. * * @return The event type. */ public String getType(); /** * Get any extension data for the event. * * @return The event extension data. */ public String getExtensions(); /** * Get event identifier * * @return */ public String getEventId(); /** * Get event severity * * @return */ public String getSeverity(); /** * Get Alert Type * * @return */ public String getAlertType(); /** * Get Record Type : ENUM having values Event or Alert * * @return The record type */ public String getRecordType(); /** * Get Native GUID * * @return The NativeGuid */ public String getNativeGuid(); /** * Retrieves the Operational Status Descriptions as a String available as * part of Indication provided * * @return */ public String getOperationalStatusDescriptions(); /** * Retrieves the Operational Status Codes as a String available as part of * Indication provided * * @return */ public String getOperationalStatusCodes(); /** * Identifier of the source of the event * * @return The event Source */ public String getSource(); }