New min/max Guard Policy
[policy/engine.git] / PolicyEngineAPI / src / main / java / org / onap / policy / api / RuleProvider.java
index 2e45549..7f470a2 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * PolicyEngineAPI
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,50 +29,60 @@ import com.fasterxml.jackson.annotation.JsonCreator;
  * @version 0.1
  */
 public enum RuleProvider {
-       /**
-        * Indicates User will be defining the Rule information. 
-        */
-       CUSTOM("Custom"),
-       /**
-        * Indicates AAF will be providing the Rule information. 
-        */
-       AAF("AAF"),
-       /**
-        * Indicates Guard YAML will be providing the Rule information.
-        */
-       GUARD_YAML("GUARD_YAML"),
-       /**
-        * Indicates Guard BLACKLIST YAML 
-        */
-       GUARD_BL_YAML("GUARD_BL_YAML"),
-       /**
-        * Indicates Guard BLACKLIST YAML 
-        */
-       RAINY_DAY("Rainy_Day")
-       ;
-       
-       private String name;
-       
-       private RuleProvider(String typeName){
-               this.name = typeName;
-       }
-       
-       /**
-        * Returns the <code>String</code> format of Type for this <code>AttributeType</code>
-        * @return the <code>String</code> of the Type for this <code>AttributeType</code>
-        */
-       @Override
-       public String toString() {
-               return this.name;
-       }
-       
-       @JsonCreator
-    public static RuleProvider create (String value) {
-        for(RuleProvider type: values()){
-            if(type.toString().equals(value) || type.equals(RuleProvider.valueOf(value))){
+    /**
+     * Indicates User will be defining the Rule information.
+     */
+    CUSTOM("Custom"),
+    /**
+     * Indicates AAF will be providing the Rule information.
+     */
+    AAF("AAF"),
+    /**
+     * Indicates Guard YAML will be providing the Rule information.
+     */
+    GUARD_YAML("GUARD_YAML"),
+    /**
+     * Indicates Guard MIN / MAX will be providing the Rule information.
+     */
+    GUARD_MIN_MAX("GUARD_MIN_MAX"),
+    /**
+     * Indicates Guard BLACKLIST YAML.
+     */
+    GUARD_BL_YAML("GUARD_BL_YAML"),
+    /**
+     * Indicates Rainy Day Decision Policy.
+     */
+    RAINY_DAY("Rainy_Day"),
+    /**
+     * Indicates Raw.
+     */
+    RAW("Raw");
+
+    private final String name;
+
+    private RuleProvider(final String typeName) {
+        this.name = typeName;
+    }
+
+    /**
+     * Returns the <code>String</code> format of Type for this
+     * <code>AttributeType</code>
+     * 
+     * @return the <code>String</code> of the Type for this
+     *         <code>AttributeType</code>
+     */
+    @Override
+    public String toString() {
+        return this.name;
+    }
+
+    @JsonCreator
+    public static RuleProvider create(final String value) {
+        for (final RuleProvider type : values()) {
+            if (type.toString().equalsIgnoreCase(value) || type.name().equalsIgnoreCase(value)) {
                 return type;
             }
         }
-        throw new IllegalArgumentException();
+        throw new IllegalArgumentException("Invalid value: " + value);
     }
 }