Usuario.java 3.82 KB
Newer Older
Joel Florentin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
package twitter;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Usuario {
    private int id;
    private String username;
    private String password;
    private String email;
    private String fechaNacimiento;
    private String fechaCreacion;
    private String urlPhoto;
    private String descripcion;
    private boolean isVerificado;
    private List<Usuario> seguidos;
    private List<Usuario> seguidores;
    private List<Usuario> bloqueados;
    private List<Tweet> tweets;

    public Usuario(int id,String username,String password,String email,String fechaNacimiento,String fechaCreacion,String urlPhoto,String descripcion,boolean isVerificado) {
        this.id=id;
        this.username=username;
        this.password=password;
        this.email=email;
        this.fechaNacimiento=fechaNacimiento;
        this.fechaCreacion=fechaCreacion;
        this.urlPhoto=urlPhoto;
        this.descripcion=descripcion;
        this.isVerificado=isVerificado;
        this.seguidores=new ArrayList<>();
        this.seguidos=new ArrayList<>();
        this.bloqueados=new ArrayList<>();
        this.tweets=new ArrayList<>();
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public String getEmail() {
        return email;
    }

    public String getFechaNacimiento() {
        return fechaNacimiento;
    }
    public String getFechaCreacion() {
        return fechaCreacion;
    }
    public int getId() {
        return id;
    }
    public String getDescripcion() {
        return descripcion;
    }
    public String getUrlPhoto() {
        return urlPhoto;
    }
    public boolean isVerificado() {
        return isVerificado;
    }
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public void setFechaCreacion(String fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }
    public void setFechaNacimiento(String fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setUrlPhoto(String urlPhoto) {
        this.urlPhoto = urlPhoto;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public void setVerificado(boolean isVerificado) {
        this.isVerificado = isVerificado;
    }
    
    public void addSeguido(Usuario seguido) {
        this.seguidos.add(seguido);//el usuario sigue a alguien
        seguido.addSeguidor(this);//a ese alguien le sigue el usuario
    }
    private void addSeguidor(Usuario seguidor){
        this.seguidores.add(seguidor);
    }
    public void removeSeguido(Usuario seguido){
        this.seguidos.remove(seguido);
        seguido.removeSeguidor(this);
    }
    private void removeSeguidor(Usuario seguidor){
        this.seguidores.remove(seguidor);
    }
    public void addBloqueado(Usuario bloqueado){
        this.bloqueados.add(bloqueado);
    }
    public void removeBloqueado(Usuario bloqueado){
        this.bloqueados.remove(bloqueado);
    }

    public void addTweet(Tweet tweet) {
        tweets.add(tweet);
    }

    public void removeTweet(Tweet tweet) {
        tweets.remove(tweet);
    }

    public List<Usuario> getBloqueados() {
        return bloqueados;
    }
    public List<Usuario> getSeguidores() {
        return seguidores;
    }
    public List<Usuario> getSeguidos() {
        return seguidos;
    }
    public List<Tweet> getTweets() {
        return tweets;
    }

    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return getUsername();
    }
}