package de.ugoe.cs.quest.eventcore.guimodel; import de.ugoe.cs.quest.eventcore.IEventTarget; /** *

* Common interface for all GUI elements. *

* * @version 1.0 * @author Patrick Harms */ public interface IGUIElement extends IEventTarget { /** *

* Returns the specification of the GUI element. *

* * @return the specification */ public IGUIElementSpec getSpecification(); /** *

* Returns the parent of the GUI element. *

* * @return the parent */ public IGUIElement getParent(); /** *

* Defines that {@link IGUIElement} implementations have to define equals. *

* * @see Object#equals(Object) */ @Override public boolean equals(Object other); /** *

* Defines that {@link IGUIElement} implementations have to define hashCode. *

* * @see Object#hashCode() */ @Override public int hashCode(); /** *

* Updates the specification of a GUI element with another specification, e.g., to add further * known names of the GUI element. *

* * @param furtherSpec * additional specification */ public void updateSpecification(IGUIElementSpec furtherSpec); /** *

* The {@link IGUIElement} that is passed by this function is equal to the current GUI element * and will hereafter be treated as such. *

* * @param guiElement * GUI element that is equal */ public void addEqualGUIElement(IGUIElement equalElement); }