# Interface MaterialEvent

All Known Implementing Classes:
  `MaterialAddedEvent`, `PriceChangedEvent`

public interface MaterialEvent
Base interface for material-related domain events in the Observer pattern. Represents events that occur in the material management system.

This interface defines the contract for all material events, allowing the system to broadcast domain events to interested observers without tight coupling between components.

Since:
  2024-09-15
Version:
  3.0
Author:
  Navid Mohaghegh

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Gets a description of this event.
  `String`
  `getEventType()`
  Gets the type of this event.
  `Material`
  `getMaterial()`
  Gets the material associated with this event.
  `long`
  `getTimestamp()`
  Gets the timestamp when this event occurred.

- ## Method Details

  - ### getMaterial

    Material getMaterial()
    Gets the material associated with this event.
    Returns:
      the material

  - ### getTimestamp

    long getTimestamp()
    Gets the timestamp when this event occurred.
    Returns:
      the event timestamp in milliseconds

  - ### getEventType

    String getEventType()
    Gets the type of this event.
    Returns:
      the event type

  - ### getDescription

    String getDescription()
    Gets a description of this event.
    Returns:
      the event description