diff --git a/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/Deletable.java b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/Deletable.java new file mode 100644 index 0000000000..d40d81b1d4 --- /dev/null +++ b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/Deletable.java @@ -0,0 +1,5 @@ +package com.baeldung.markerinterface; + +public interface Deletable extends DeletableShape { + +} diff --git a/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/DeletableShape.java b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/DeletableShape.java new file mode 100644 index 0000000000..d5ae52c9f2 --- /dev/null +++ b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/DeletableShape.java @@ -0,0 +1,7 @@ +package com.baeldung.markerinterface; + +public interface DeletableShape { + double getArea(); + + double getCircumference(); +} \ No newline at end of file diff --git a/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/Rectangle.java b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/Rectangle.java new file mode 100644 index 0000000000..f8ea987c6f --- /dev/null +++ b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/Rectangle.java @@ -0,0 +1,22 @@ +package com.baeldung.markerinterface; + +public class Rectangle implements Deletable { + + private double width; + private double height; + + public Rectangle(double width, double height) { + this.width = width; + this.height = height; + } + + @Override + public double getArea() { + return width * height; + } + + @Override + public double getCircumference() { + return 2 * (width + height); + } +} diff --git a/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/ShapeDao.java b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/ShapeDao.java new file mode 100644 index 0000000000..49a389bd46 --- /dev/null +++ b/core-java-lang-oop/src/main/java/com/baeldung/markerinterface/ShapeDao.java @@ -0,0 +1,14 @@ +package com.baeldung.markerinterface; + +public class ShapeDao { + + public boolean delete(Object object) { + if (!(object instanceof Deletable)) { + return false; + } + // Calling the code that deletes the entity from the database + + return true; + } + +}