Added code comments.
This commit is contained in:
		@@ -1,5 +1,29 @@
 | 
				
			|||||||
package com.iluwatar;
 | 
					package com.iluwatar;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * Resource Acquisition Is Initialization pattern was developed
 | 
				
			||||||
 | 
					 * for exception safe resource management by C++ creator Bjarne
 | 
				
			||||||
 | 
					 * Stroustrup.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * In RAII resource is tied to object lifetime: resource allocation
 | 
				
			||||||
 | 
					 * is done during object creation while resource deallocation is
 | 
				
			||||||
 | 
					 * done during object destruction.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * In Java RAII is achieved with try-with-resources statement and
 | 
				
			||||||
 | 
					 * interfaces Closeable and AutoCloseable. The try-with-resources 
 | 
				
			||||||
 | 
					 * statement ensures that each resource is closed at the end of the 
 | 
				
			||||||
 | 
					 * statement. Any object that implements java.lang.AutoCloseable, which 
 | 
				
			||||||
 | 
					 * includes all objects which implement java.io.Closeable, can be used 
 | 
				
			||||||
 | 
					 * as a resource.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * In this example, SlidingDoor implements AutoCloseable and 
 | 
				
			||||||
 | 
					 * TreasureChest implements Closeable. Running the example, we can
 | 
				
			||||||
 | 
					 * observe that both resources are automatically closed.
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
public class App {
 | 
					public class App {
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public static void main( String[] args ) throws Exception {
 | 
						public static void main( String[] args ) throws Exception {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,10 @@
 | 
				
			|||||||
package com.iluwatar;
 | 
					package com.iluwatar;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * SlidingDoor resource
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
public class SlidingDoor implements AutoCloseable {
 | 
					public class SlidingDoor implements AutoCloseable {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public SlidingDoor() {
 | 
						public SlidingDoor() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,11 @@ package com.iluwatar;
 | 
				
			|||||||
import java.io.Closeable;
 | 
					import java.io.Closeable;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * TreasureChest resource
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
public class TreasureChest implements Closeable {
 | 
					public class TreasureChest implements Closeable {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public TreasureChest() {
 | 
						public TreasureChest() {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user