0% encontró este documento útil (0 votos)
10 vistas5 páginas

Clase DTO para Playlist en Java

La clase PlaylistDTO es un objeto de transferencia de datos que representa una playlist en el sistema, encapsulando atributos como ID, título, descripción, propietario, imagen de portada, fecha de creación y lista de canciones. Se utiliza para transferir datos entre diferentes capas del sistema sin exponer la lógica de negocio. Incluye constructores, getters y setters para manejar sus atributos.

Cargado por

steven.chazz69
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas5 páginas

Clase DTO para Playlist en Java

La clase PlaylistDTO es un objeto de transferencia de datos que representa una playlist en el sistema, encapsulando atributos como ID, título, descripción, propietario, imagen de portada, fecha de creación y lista de canciones. Se utiliza para transferir datos entre diferentes capas del sistema sin exponer la lógica de negocio. Incluye constructores, getters y setters para manejar sus atributos.

Cargado por

steven.chazz69
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

/*

|-----------------------------------------------|
| © 2025 EPN-FIS, Todos los derechos reservados |
| GR1SW |
|-----------------------------------------------|
Autores: Grupo C
Objeto de transferencia de datos (DTO) para transferir datos de playlist entre
capas
*/

package [Link];

import [Link];
import [Link];

import [Link];

/**
* Clase DTO (Data Transfer Object) que representa una playlist en el sistema.
*
* <p>Esta clase encapsula todos los datos necesarios para representar una
playlist,
* incluyendo su información básica, metadatos y las canciones que contiene.
* Se utiliza para transferir datos entre las diferentes capas del sistema
* sin exponer la lógica de negocio.</p>
*
* <p>Características principales:</p>
* <ul>
* <li>Contiene información básica de la playlist (ID, título, descripción)</li>
* <li>Referencia al propietario de la playlist</li>
* <li>Imagen de portada en formato byte array</li>
* <li>Fecha de creación automática</li>
* <li>Lista de IDs de canciones que contiene</li>
* </ul>
*
* <p><strong>Nota de Trazabilidad:</strong> Esta clase corresponde a la
* entidad Playlist del diagrama de clases, encapsulando los siguientes atributos:
* - idPlaylist: int
* - tituloPlaylist: String
* - descripcion: String
* - propietario: Perfil (representado como idPropietario: int)
* - imagenPortada: BufferedImage (representado como byte[])
* - fechaCreacion: Date (usando LocalDateTime)
* - componentes: List<ComponentePlaylist> (representado como cancionesIds:
List<Integer>)</p>
*
* @author Grupo C - EPN-FIS
* @version 1.0
* @since 2025
* @see ComponentePlaylist
* @see LocalDateTime
*/
public class PlaylistDTO {

// ====================================================================
// ATRIBUTOS DE LA CLASE
// ====================================================================

/**
* Identificador único de la playlist en la base de datos.
*/
private int idPlaylist;

/**
* Título o nombre de la playlist.
*/
private String tituloPlaylist;

/**
* Descripción opcional de la playlist.
* Puede ser null si no se proporciona descripción.
*/
private String descripcion;

/**
* Identificador del usuario propietario de la playlist.
* Referencia a la tabla de usuarios/perfiles.
*/
private int idPropietario;

/**
* Imagen de portada de la playlist en formato byte array.
* Puede ser null si la playlist no tiene imagen de portada.
*/
private byte[] imagenPortada;

/**
* Fecha y hora de creación de la playlist.
* Se establece automáticamente al crear la playlist.
*/
private LocalDateTime fechaCreacion;

/**
* Lista de identificadores de las canciones que contiene la playlist.
* El orden en la lista representa el orden de reproducción.
* Puede ser null si la playlist está vacía.
*/
private List<Integer> cancionesIds;

// ====================================================================
// CONSTRUCTORES
// ====================================================================

/**
* Constructor por defecto que inicializa una playlist vacía.
* Los atributos se inicializan con valores por defecto.
*/
public PlaylistDTO() {}

/**
* Constructor completo que inicializa una playlist con todos sus datos.
*
* <p>Este constructor establece automáticamente la fecha de creación
* con el momento actual del sistema.</p>
*
* @param tituloPlaylist el título de la playlist
* @param descripcion la descripción de la playlist (puede ser null)
* @param idPropietario el ID del usuario propietario
* @param imagenPortada la imagen de portada en formato byte array (puede ser
null)
* @param cancionesIds lista de IDs de las canciones que contiene (puede ser
null)
*/
public PlaylistDTO(String tituloPlaylist, String descripcion, int
idPropietario,
byte[] imagenPortada, List<Integer> cancionesIds) {
[Link] = tituloPlaylist;
[Link] = descripcion;
[Link] = idPropietario;
[Link] = imagenPortada;
[Link] = cancionesIds;
[Link] = [Link]();
}

// ====================================================================
// GETTERS Y SETTERS
// ====================================================================

/**
* Obtiene el identificador único de la playlist.
*
* @return el ID de la playlist
*/
public int getIdPlaylist() {
return idPlaylist;
}

/**
* Establece el identificador único de la playlist.
*
* @param idPlaylist el nuevo ID de la playlist
*/
public void setIdPlaylist(int idPlaylist) {
[Link] = idPlaylist;
}

/**
* Obtiene el título de la playlist.
*
* @return el título de la playlist
*/
public String getTituloPlaylist() {
return tituloPlaylist;
}

/**
* Establece el título de la playlist.
*
* @param tituloPlaylist el nuevo título de la playlist
*/
public void setTituloPlaylist(String tituloPlaylist) {
[Link] = tituloPlaylist;
}

/**
* Obtiene la descripción de la playlist.
*
* @return la descripción de la playlist (puede ser null)
*/
public String getDescripcion() {
return descripcion;
}

/**
* Establece la descripción de la playlist.
*
* @param descripcion la nueva descripción de la playlist (puede ser null)
*/
public void setDescripcion(String descripcion) {
[Link] = descripcion;
}

/**
* Obtiene el identificador del propietario de la playlist.
*
* @return el ID del usuario propietario
*/
public int getIdPropietario() {
return idPropietario;
}

/**
* Establece el identificador del propietario de la playlist.
*
* @param idPropietario el nuevo ID del usuario propietario
*/
public void setIdPropietario(int idPropietario) {
[Link] = idPropietario;
}

/**
* Obtiene la imagen de portada de la playlist.
*
* @return la imagen de portada en formato byte array (puede ser null)
*/
public byte[] getImagenPortada() {
return imagenPortada;
}

/**
* Establece la imagen de portada de la playlist.
*
* @param imagenPortada la nueva imagen de portada en formato byte array (puede
ser null)
*/
public void setImagenPortada(byte[] imagenPortada) {
[Link] = imagenPortada;
}

/**
* Obtiene la fecha de creación de la playlist.
*
* @return la fecha y hora de creación
*/
public LocalDateTime getFechaCreacion() {
return fechaCreacion;
}

/**
* Establece la fecha de creación de la playlist.
*
* @param fechaCreacion la nueva fecha y hora de creación
*/
public void setFechaCreacion(LocalDateTime fechaCreacion) {
[Link] = fechaCreacion;
}

/**
* Obtiene la lista de identificadores de las canciones de la playlist.
*
* @return lista de IDs de canciones (puede ser null si la playlist está vacía)
*/
public List<Integer> getCancionesIds() {
return cancionesIds;
}

/**
* Establece la lista de identificadores de las canciones de la playlist.
*
* @param cancionesIds la nueva lista de IDs de canciones (puede ser null)
*/
public void setCancionesIds(List<Integer> cancionesIds) {
[Link] = cancionesIds;
}

// ====================================================================
// MÉTODOS DE REPRESENTACIÓN
// ====================================================================

/**
* Genera una representación en cadena de texto de la playlist.
*
* <p>Esta representación incluye los datos más relevantes de la playlist:
* ID, título, descripción, propietario, fecha de creación y número de
canciones.</p>
*
* @return representación en cadena de texto de la playlist
*/
@Override
public String toString() {
return "PlaylistDTO{" +
"idPlaylist=" + idPlaylist +
", tituloPlaylist='" + tituloPlaylist + '\'' +
", descripcion='" + descripcion + '\'' +
", idPropietario=" + idPropietario +
", fechaCreacion=" + fechaCreacion +
", numCanciones=" + (cancionesIds != null ? [Link]() :
0) +
'}';
}
}

También podría gustarte