78 lines
1.8 KiB
Java
78 lines
1.8 KiB
Java
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. <br>
|
|
* <br>
|
|
* Project: <strong>envoy-server-standalone</strong><br>
|
|
* File: <strong>Contact.java</strong><br>
|
|
* Created: <strong>24.03.2020</strong><br>
|
|
*
|
|
* @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<Contact> 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<Contact> getContacts() { return contacts; }
|
|
|
|
/**
|
|
* @param contacts the contacts to set
|
|
* @since Envoy Server Standalone v0.1-beta
|
|
*/
|
|
public void setContacts(Set<Contact> contacts) { this.contacts = contacts; }
|
|
}
|