/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.dlect.events; /** * This class represents a single type of event that can be fired. This class is expected to implement equality and as * such it is recommended that implementations are enums, as that provides equality and name internally. If a class does * not want to implement this using a enum then equality is defined on the combination {@link #getAppliedClass() } and * {@link #getName() }. The {@link #isUniqueId() } is for applications to determine if they should update their internal * IDs from this event. * */ public interface EventID { /** * The class that this EventID is associated with. * * @return The class that this event applies to. */ public Class<?> getAppliedClass(); /** * A human readable name that describes this ID. * * @return A human readable name for this ID. */ public String getName(); }