import java.util.EnumSet;

enum Operation {
    VIEW_PROFILE, 
    EDIT_PROFILE, 
    DELETE_PROFILE, 
    RATE_PROFILE,
    VIEW_ALBUM, 
    EDIT_ALBUM, 
    DELETE_ALBUM, 
    COMMENT
}

enum Role {
	SELF(EnumSet.of(
		Operation.VIEW_PROFILE, 
		Operation.EDIT_PROFILE,
		Operation.DELETE_PROFILE,
		Operation.VIEW_ALBUM, 
		Operation.EDIT_ALBUM,
		Operation.DELETE_ALBUM,
		Operation.COMMENT)),

    FRIEND(EnumSet.of(
    		Operation.VIEW_ALBUM, 
    		Operation.VIEW_PROFILE,
    		Operation.COMMENT)),

    GUEST(EnumSet.of(
    		Operation.VIEW_PROFILE, 
    		Operation.RATE_PROFILE));

    EnumSet<Operation> operationSet;

    Role(EnumSet<Operation> operationSet){
        this.operationSet = operationSet;
    }
}

public class HelloEnumSetUseCase {
	public static void main(String...args) {
		System.out.println("Hello EnumSet Use Case!");
		
		EnumSet<Operation> customRole = EnumSet.noneOf(Operation.class);
		customRole.addAll(Role.FRIEND.operationSet);
		customRole.addAll(Role.GUEST.operationSet);
		
		System.out.println(customRole);
	}
}


@@ -55,21 +55,16 @@
 ROFILE, 
-%0A    
 EDIT_PRO
@@ -69,21 +69,16 @@
 ROFILE, 
-%0A    
 DELETE_P
@@ -85,21 +85,16 @@
 ROFILE, 
-%0A    
 RATE_PRO
@@ -94,24 +94,25 @@
 ATE_PROFILE,
+ 
 %0A    VIEW_AL
@@ -116,21 +116,16 @@
 _ALBUM, 
-%0A    
 EDIT_ALB
@@ -128,21 +128,16 @@
 _ALBUM, 
-%0A    
 DELETE_A
@@ -142,21 +142,16 @@
 _ALBUM, 
-%0A    
 COMMENT%0A
@@ -165,17 +165,20 @@
  Role %7B%0A
-%09
+    
 SELF(Enu
@@ -185,19 +185,16 @@
 mSet.of(
-%0A%09%09
 Operatio
@@ -210,18 +210,28 @@
 OFILE, %0A
-%09%09
+            
 Operatio
@@ -237,35 +237,33 @@
 on.EDIT_PROFILE,
-%0A%09%09
+ 
 Operation.DELETE
@@ -271,19 +271,17 @@
 PROFILE,
-%0A%09%09
+ 
 Operatio
@@ -297,12 +297,21 @@
 BUM,
- %0A%09%09
+%0A            
 Oper
@@ -323,27 +323,25 @@
 .EDIT_ALBUM,
-%0A%09%09
+ 
 Operation.DE
@@ -351,19 +351,17 @@
 E_ALBUM,
-%0A%09%09
+ 
 Operatio
@@ -388,39 +388,32 @@
 IEND(EnumSet.of(
-%0A    %09%09
 Operation.VIEW_A
@@ -418,23 +418,16 @@
 _ALBUM, 
-%0A    %09%09
 Operatio
@@ -441,23 +441,17 @@
 PROFILE,
-%0A    %09%09
+ 
 Operatio
@@ -485,23 +485,16 @@
 mSet.of(
-%0A    %09%09
 Operatio
@@ -513,15 +513,8 @@
 LE, 
-%0A    %09%09
 Oper
@@ -615,16 +615,17 @@
 tionSet)
+ 
 %7B%0A      
@@ -704,17 +704,20 @@
 eCase %7B%0A
-%09
+    
 public s
@@ -745,16 +745,17 @@
 g...
+ 
 args) %7B%0A
 %09%09Sy
@@ -750,18 +750,24 @@
 args) %7B%0A
-%09%09
+        
 System.o
@@ -805,21 +805,25 @@
 ase!%22);%0A
-%09%09%0A%09%09
+%0A        
 EnumSet%3C
@@ -879,18 +879,24 @@
 class);%0A
-%09%09
+        
 customRo
@@ -932,18 +932,24 @@
 onSet);%0A
-%09%09
+        
 customRo
@@ -988,13 +988,17 @@
 t);%0A
-%09%09%0A%09%09
+%0A        
 Syst
@@ -1029,10 +1029,12 @@
 e);%0A
-%09
+    
 %7D%0A%7D%0A
-%0A

Update HelloEnumSetUseCase.java