package envoy.server.data; import java.util.Set; import javax.persistence.*; /** * This class acts as a superclass for all contacts, being {@link User}s and * {@link Group}s.
*
* Project: envoy-server-standalone
* File: Contact.java
* Created: 24.03.2020
* * @author Maximilian Käfer * @since Envoy Server Standalone v0.1-alpha */ @MappedSuperclass // TODO add queries public abstract class Contact { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) protected long id; protected String name; @ManyToMany(targetEntity = Contact.class, cascade = CascadeType.ALL) protected Set contacts; /** * @return a {@link envoy.data.Contact} object of this envoy.server.data.Contact * object. * @since Envoy Server Standalone v0.1-beta */ public abstract envoy.data.Contact toCommon(); /** * @return the ID of this contact. * @since Envoy Server Standalone v0.1-beta */ public long getID() { return id; } /** * Sets the ID of this contact. * * @param id to set for this contact * @since Envoy Server Standalone v0.1-beta */ public void setID(long id) { this.id = id; } /** * @return the name of this contact. * @since Envoy Server Standalone v0.1-beta */ public String getName() { return name; } /** * Sets the name of this contact. * * @param name to set for this contact * @since Envoy Server Standalone v0.1-beta */ public void setName(String name) { this.name = name; } /** * @return the contacts * @since Envoy Server Standalone v0.1-beta */ public Set getContacts() { return contacts; } /** * @param contacts the contacts to set * @since Envoy Server Standalone v0.1-beta */ public void setContacts(Set contacts) { this.contacts = contacts; } }