*/\r
package org.opendaylight.yangtools.yang.data.api;\r
\r
+import java.util.Arrays;\r
+\r
+// TODO rename to ModifyOperation\r
+\r
+/**\r
+ * http://tools.ietf.org/html/rfc6241#section-7.2\r
+ */\r
public enum ModifyAction {\r
- MERGE, REPLACE, CREATE, DELETE, REMOVE\r
+ MERGE, REPLACE, CREATE, DELETE, REMOVE, NONE;\r
+\r
+ public static ModifyAction fromXmlValue(String xmlNameOfAction) {\r
+ switch (xmlNameOfAction) {\r
+ case "merge":\r
+ return MERGE;\r
+ case "replace":\r
+ return REPLACE;\r
+ case "remove":\r
+ return REMOVE;\r
+ case "delete":\r
+ return DELETE;\r
+ case "create":\r
+ return CREATE;\r
+ case "none":\r
+ return NONE;\r
+ default:\r
+ throw new IllegalArgumentException("Unknown operation " + xmlNameOfAction + " available operations "\r
+ + Arrays.toString(ModifyAction.values()));\r
+ }\r
+ }\r
+\r
+ public boolean isAsDefaultPermitted() {\r
+ boolean isPermitted = this == MERGE;\r
+ isPermitted |= this == REPLACE;\r
+ isPermitted |= this == NONE;\r
+ return isPermitted;\r
+ }\r
+\r
+ public boolean isOnElementPermitted() {\r
+ return this != NONE;\r
+ }\r
+\r
}\r