package com.trifulcas.ejerciciosSolid;
public class Article {
private String Title;
private String Content;
public void setTitle(String title) {
this.Title = title;
}
public void setContent(String content) {
this.Content = content;
}
}
package com.trifulcas.ejerciciosSolid;
public class GenerateSummary {
public String generateSummary(String content) {
// Logic to generate a summary from the content
return content.substring(0, 100) + "..."; // just a simple example
}
}
package com.trifulcas.ejerciciosSolid;
import com.trifulcas.juego.Enemigo;
public class SaveToDatabase {
// Cosas del tipo conexión a BD
// etc...
public void saveToDatabase(Article article) {
// Logic to save the article to a database
}
public void saveToDatabase(Enemigo enemigo) {
// Logic to save the article to a database
}
}
package com.trifulcas.ejerciciosSolid;
public abstract class ReportGenerator {
public abstract void generateReport(String data);
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorPDF extends ReportGenerator {
@Override
public void generateReport(String data) {
System.out.println("Aquí va el código de generar PDF");
}
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorCSV extends ReportGenerator {
@Override
public void generateReport(String data) {
System.out.println("Código para generar CSV");
}
}
package com.trifulcas.ejerciciosSolid;
public interface IReportGenerator {
public void generateReport(String data);
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorXML implements IReportGenerator {
@Override
public void generateReport(String data) {
System.out.println("Lógica para generar XML");
}
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorID {
IReportGenerator reportGenerator;
public ReportGeneratorID(IReportGenerator reportGenerator) {
this.reportGenerator = reportGenerator;
}
public void generateReport(String data) {
reportGenerator.generateReport(data);
}
}
package com.trifulcas.ejerciciosSolid;
public class ProbarReports {
public static void main(String[] args) {
String datos="Hola que tal";
// Generar un PDF
ReportGeneratorPDF rgp=new ReportGeneratorPDF();
rgp.generateReport(datos);
// Generar un XML con ID
ReportGeneratorXML rgx=new ReportGeneratorXML();
ReportGeneratorID rgid=new ReportGeneratorID(rgx);
rgid.generateReport(datos);
rgid=new ReportGeneratorID(rgx);
rgid.generateReport(datos);
}
}
package com.trifulcas.ejerciciosSolid;
public interface IClean {
void Clean();
}
package com.trifulcas.ejerciciosSolid;
public class Apartment implements IClean {
@Override
public void Clean() {
System.out.println("Apartment cleaned.");
}
}
package com.trifulcas.ejerciciosSolid;
import java.util.Date;
public interface IRoom {
void Reserve(Date from, Date to);
void CheckInventory();
}
package com.trifulcas.ejerciciosSolid;
public interface IInventory {
void CheckInventory();
}
package com.trifulcas.ejerciciosSolid;
import java.util.Date;
public interface IReserve {
void Reserve(Date from, Date to);
}