diff --git a/resource-acquisition-is-initialization/src/main/java/com/iluwatar/App.java b/resource-acquisition-is-initialization/src/main/java/com/iluwatar/App.java index faf592178..06c6cc979 100644 --- a/resource-acquisition-is-initialization/src/main/java/com/iluwatar/App.java +++ b/resource-acquisition-is-initialization/src/main/java/com/iluwatar/App.java @@ -2,6 +2,14 @@ package com.iluwatar; public class App { - public static void main( String[] args ) { + public static void main( String[] args ) throws Exception { + + try (SlidingDoor slidingDoor = new SlidingDoor()) { + System.out.println("Walking in."); + } + + try (TreasureChest treasureChest = new TreasureChest()) { + System.out.println("Looting contents."); + } } } diff --git a/resource-acquisition-is-initialization/src/main/java/com/iluwatar/SlidingDoor.java b/resource-acquisition-is-initialization/src/main/java/com/iluwatar/SlidingDoor.java new file mode 100644 index 000000000..fa3c77968 --- /dev/null +++ b/resource-acquisition-is-initialization/src/main/java/com/iluwatar/SlidingDoor.java @@ -0,0 +1,13 @@ +package com.iluwatar; + +public class SlidingDoor implements AutoCloseable { + + public SlidingDoor() { + System.out.println("Sliding door opens."); + } + + @Override + public void close() throws Exception { + System.out.println("Sliding door closes."); + } +} diff --git a/resource-acquisition-is-initialization/src/main/java/com/iluwatar/TreasureChest.java b/resource-acquisition-is-initialization/src/main/java/com/iluwatar/TreasureChest.java new file mode 100644 index 000000000..87acf4e88 --- /dev/null +++ b/resource-acquisition-is-initialization/src/main/java/com/iluwatar/TreasureChest.java @@ -0,0 +1,16 @@ +package com.iluwatar; + +import java.io.Closeable; +import java.io.IOException; + +public class TreasureChest implements Closeable { + + public TreasureChest() { + System.out.println("Treasure chest opens."); + } + + @Override + public void close() throws IOException { + System.out.println("Treasure chest closes."); + } +} diff --git a/resource-acquisition-is-initialization/src/test/java/com/iluwatar/AppTest.java b/resource-acquisition-is-initialization/src/test/java/com/iluwatar/AppTest.java index 6db5ad214..df46cf50f 100644 --- a/resource-acquisition-is-initialization/src/test/java/com/iluwatar/AppTest.java +++ b/resource-acquisition-is-initialization/src/test/java/com/iluwatar/AppTest.java @@ -5,7 +5,7 @@ import org.junit.Test; public class AppTest { @Test - public void test() { + public void test() throws Exception { String[] args = {}; App.main(args); }