diff --git b/Twitter/CometarioUrl.java a/Twitter/CometarioUrl.java new file mode 100644 index 0000000..3799b4c --- /dev/null +++ a/Twitter/CometarioUrl.java @@ -0,0 +1,21 @@ +import java.net.URL; + +public class CometarioUrl { + private URL linkUrl; + + public CometarioUrl() { + } + + public CometarioUrl(URL linkUrl) { + this.linkUrl = linkUrl; + } + + public URL getLinkUrl() { + return this.linkUrl; + } + + public void setLinkUrl(URL linkUrl) { + this.linkUrl = linkUrl; + } + +} diff --git b/Twitter/Dashboard.java a/Twitter/Dashboard.java new file mode 100644 index 0000000..254ea0d --- /dev/null +++ a/Twitter/Dashboard.java @@ -0,0 +1,9 @@ + +public class Dashboard { + private Usuario u; + private Tweet T; + + public void verLosUltimosTweetsDeLosSeguidos(){ + + } +} diff --git b/Twitter/Reacciones.java a/Twitter/Reacciones.java new file mode 100644 index 0000000..e3e4069 --- /dev/null +++ a/Twitter/Reacciones.java @@ -0,0 +1,22 @@ + +public class Reacciones { + private Usuario u; + private Tweet t; + private String reaccion[3]; + public void Like(Usuario u, Tweet t){ + for(Tweet tw: U.getTweets()){ + if(tw.equals(t)){ + tw.setNroLikes(); + } + } + } + public void reTweet(Usuario u, Tweet t){ + for(Tweet tw: u.getTweets()){ + if(tw.equals(t)){ + tw.setNroRtw(); + this.u.setreTweets(t); + } + } + } +} + diff --git b/Twitter/Tweet.java a/Twitter/Tweet.java new file mode 100644 index 0000000..50745ef --- /dev/null +++ a/Twitter/Tweet.java @@ -0,0 +1,55 @@ +import java.util.ArrayList; + +public class Tweet{ + private int tweet_id; + private String texto; + private int nroLikes; + private int nroRtw; + private ArrayList comentarios; + + public Tweet(int tweet_id, String texto, int nroLikes, Usuario U) { + this.tweet_id = tweet_id; + this.texto = texto; + this.nroLikes = nroLikes; + } + public void setComentarios(String comentario){ + comentarios.add(comentario); + } + public int getTweet_id() { + return this.tweet_id; + } + + public void setTweet_id(int tweet_id) { + this.tweet_id = tweet_id; + } + + public String getTexto() { + return this.texto; + } + + public void setTexto(String texto) { + this.texto = texto; + } + + public int getNroLikes() { + return this.nroLikes; + } + + public void setNroLikes() { + this.nroLikes++; + } + + public int getNroRtw() { + return this.nroRtw; + } + + public void setNroRtw() { + this.nroRtw++; + } + public void verComentario(){ + for(String comentario: this.comentarios){ + System.out.println(comentario); + } + } + +} \ No newline at end of file diff --git b/Twitter/Usuario.java a/Twitter/Usuario.java new file mode 100644 index 0000000..b71164c --- /dev/null +++ a/Twitter/Usuario.java @@ -0,0 +1,221 @@ + + +import java.net.URL; +import java.sql.Date; +import java.util.ArrayList; + +public class Usuario { + private String nombreUsuario; + private String password; + private String email; + private Date fecha_nacimiento; + private Date fechaIngreso; + private URL urlPhoto; + private String descripcion; + private boolean isVerificado; + private ArrayList seguidores; + private ArrayList siguiendo; + private ArrayList tweets; + private ArrayList retweets; + + public ArrayList getTweets() { + return this.tweets; + } + + public void publicarTweets(Tweet tweets) { + this.tweets.add(tweets); + } + + public Tweet extraerTweet(){ + return this.tweets.get(tweets.size()-1); + } + public void publicarReTweets(Tweet retweets) { + this.retweets.add(retweets); + } + + public void verTweets(){ + for(Tweet t:tweets){ + System.out.print(t.getTexto()); + } + } + public void verReTweets(){ + for(Tweet t:retweets){ + System.out.print(t.getTexto()); + } + } + public Usuario() { + } + + public Usuario(String nombreUsuario, String password, String email, Date fecha_nacimiento, Date fechaIngreso, URL urlPhoto, String descripcion, boolean isVerificado) { + this.nombreUsuario = nombreUsuario; + this.password = password; + this.email = email; + this.fecha_nacimiento = fecha_nacimiento; + this.fechaIngreso = fechaIngreso; + this.urlPhoto = urlPhoto; + this.descripcion = descripcion; + this.isVerificado = isVerificado; + } + public String getNombreUsuario() { + return this.nombreUsuario; + } + + public void setNombreUsuario(String nombreUsuario) { + this.nombreUsuario = nombreUsuario; + } + + public String getPassword() { + return this.password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return this.email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Date getFecha_nacimiento() { + return this.fecha_nacimiento; + } + + public void setFecha_nacimiento(Date fecha_nacimiento) { + this.fecha_nacimiento = fecha_nacimiento; + } + + public Date getFechaIngreso() { + return this.fechaIngreso; + } + + public void setFechaIngreso(Date fechaIngreso) { + this.fechaIngreso = fechaIngreso; + } + + public URL getUrlPhoto() { + return this.urlPhoto; + } + + public void setUrlPhoto(URL urlPhoto) { + this.urlPhoto = urlPhoto; + } + + public String getDescripcion() { + return this.descripcion; + } + + public void setDescripcion(String descripcion) { + this.descripcion = descripcion; + } + + public boolean isIsVerificado() { + return this.isVerificado; + } + + public void setIsVerificado(boolean isVerificado) { + this.isVerificado = isVerificado; + } + + public ArrayList getseguidores() { + return this.seguidores; + } + + public void setSeguidores(Usuario a) { + seguidores.add(a); + } + + public ArrayList getsiguiendo() { + return this.siguiendo; + } + public void setSiguiendo(Usuario a ) { + siguiendo.add(a); + } + /*se pasa como parametro a quien seguir, si el usuario aun no sigue a nadie directamente + seguimos al usuario pasado y incluimos en la lista de seguidos al nuevo usuario y en la + lista de seguidores del usuario pasado le cargamos a nuestro usuario */ + public void seguir(Usuario a){ + if(siguiendo.size()==0){ + this.setSiguiendo(a); + a.setSeguidores(this); + }else{ + int x=0; + for(Usuario b: siguiendo){ + if(b.equals(a)){ + x++; + break; + } + } + if(x==0){ + this.setSiguiendo(a); + a.setSeguidores(this); + } + } + } + public void eliminarSeguido(Usuario a){ + this.siguiendo.remove(a); + } + public void eliminarSeguidor(Usuario a){ + this.seguidores.remove(a); + } + /* verificamos que nuestro usuario siga al usuario que pasamos como parametro, si le sigue + procedemos a eliminar de nuestra lista de seguidos al usuario pasado como parametro y + nos eliminamos de su lista de seguidores, si no encuentra al usuario desplegamos un mensaje + de que no seguimos a ese usuario */ + public void dejarSeguir(Usuario a){ + int x=0; + for(Usuario b: this.siguiendo){ + if(b.equals(a)){ + x++; + break; + } + } + if(x==0){ + this.eliminarSeguido(a); + a.eliminarSeguidor(this); + }else{ + System.out.println("Usted no sigue al usuario "+a.nombreUsuario); + } + } + /*el metodo de desbloquear deja de seguir al usuario y tambien elimina a nuestro usuario + de su lista de seguidos */ + public void bloquear(Usuario a){ + this.eliminarSeguido(a); + this.eliminarSeguidor(a); + this.eliminarSeguido(this); + this.eliminarSeguidor(this); + } + /*recorremos el array de nuestros seguidores y los mostramos en pantalla*/ + public void verSeguidores(){ + System.out.println("Seguidores:"); + for(Usuario b: this.seguidores){ + System.out.println(b.nombreUsuario); + } + } + /*recorremos el array de nuestros seguidos y los mostramos en pantalla */ + public void verSeguidos(){ + System.out.println("Seguidos:"); + for(Usuario b: this.siguiendo){ + System.out.println(b.nombreUsuario); + } + } + /*desplegamos en pantalla los tweets de nuestros seguidos recorriendo + nuestro vector de seguidos y mostrando el ultimo twet de cada uno*/ + public void verLosUltimosTweetsDeLosSeguidos(){ + for(Usuario b: this.siguiendo){ + System.out.println(b.nombreUsuario); + System.out.println(b.tweets.get(tweets.size()-1).getTexto()); + } + } + public int verLikes(){ + int n=0; + for(Tweet b: this.tweets){ + n+=b.getNroLikes(); + } + return n; + } +} + diff --git b/Twitter/tweetLink.java a/Twitter/tweetLink.java new file mode 100644 index 0000000..2810c7a --- /dev/null +++ a/Twitter/tweetLink.java @@ -0,0 +1,21 @@ +import java.net.URL; + +public class tweetLink extends Tweet{ + private URL tweetUrl; + + public tweetLink() { + } + + public tweetLink(URL tweetUrl) { + this.tweetUrl = tweetUrl; + } + + public URL getTweetUrl() { + return this.tweetUrl; + } + + public void setTweetUrl(URL tweetUrl) { + this.tweetUrl = tweetUrl; + } + +} diff --git b/Twitter/twettimagen.java a/Twitter/twettimagen.java new file mode 100644 index 0000000..18192fe --- /dev/null +++ a/Twitter/twettimagen.java @@ -0,0 +1,23 @@ +import java.net.URL; + +public class twettimagen extends Tweet{ + private URL tweetImageUrl; + + + public twettimagen(URL tweetImageUrl) { + this.tweetImageUrl = tweetImageUrl; + } + + public twettimagen() { + } + + public URL gettweetImageUrl() { + return this.tweetImageUrl; + } + + public void settweetImageUrl(URL tweetImageUrl) { + this.tweetImageUrl = tweetImageUrl; + } + + +}