aboutsummaryrefslogtreecommitdiffstats
path: root/common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@ericsson.com>2018-07-24 12:38:24 +0100
committerliamfallon <liam.fallon@ericsson.com>2018-07-25 15:58:53 +0100
commit32c6ed6b8cc4ba7b884508b68e376621fb763f65 (patch)
tree48d9a4705cd97a5b42163f6a6d655a9b38afad45 /common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java
parentb40acf2d244058c162a8597968e59f2708e6abf4 (diff)
Add common parameter handling
This common module is proposed to handle all parameters and properties for the ONAP Policy Framework in a common way. Parameters and Properties: - are validated once when they are loaded and need not be checked again in classes that use them - are available for lookup in a parameter service, they need not be passed in constructors and method arguments - are input using a single implementiation of input method only (JSON/YAML/Java properties/REST) - are defined in a schema and the schema is used for validation as much as possible Issue-ID: POLICY-922 Change-Id: I1fac88b9e952b6b5fcbea04319cb4294a9653327 Signed-off-by: liamfallon <liam.fallon@ericsson.com>
Diffstat (limited to 'common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java')
-rw-r--r--common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java b/common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java
new file mode 100644
index 00000000..4b7d5874
--- /dev/null
+++ b/common-parameters/src/main/java/org/onap/policy/common/parameters/ParameterRuntimeException.java
@@ -0,0 +1,93 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.parameters;
+
+/**
+ * A run time exception thrown on parameter validations.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ParameterRuntimeException extends RuntimeException {
+ private static final long serialVersionUID = -8507246953751956974L;
+
+ // The object on which the exception was thrown
+ private final transient Object object;
+
+ /**
+ * Instantiates a new parameter runtime exception.
+ *
+ * @param message the message on the exception
+ */
+ public ParameterRuntimeException(final String message) {
+ this(message, null);
+ }
+
+ /**
+ * Instantiates a new parameter runtime exception.
+ *
+ * @param message the message on the exception
+ * @param object the object that the exception was thrown on
+ */
+ public ParameterRuntimeException(final String message, final Object object) {
+ super(message);
+ this.object = object;
+ }
+
+ /**
+ * Instantiates a new parameter runtime exception.
+ *
+ * @param message the message on the exception
+ * @param e the exception that caused this parameter exception
+ */
+ public ParameterRuntimeException(final String message, final Exception e) {
+ this(message, e, null);
+ }
+
+ /**
+ * Instantiates a new parameter runtime exception.
+ *
+ * @param message the message on the exception
+ * @param e the exception that caused this parameter exception
+ * @param object the object that the exception was thrown on
+ */
+ public ParameterRuntimeException(final String message, final Exception e, final Object object) {
+ super(message, e);
+ this.object = object;
+ }
+
+ /**
+ * Get the message from this exception and its causes.
+ *
+ * @return the message of this exception and all the exceptions that caused this exception
+ */
+ public String getCascadedMessage() {
+ return ParameterException.buildCascadedMessage(this);
+ }
+
+ /**
+ * Get the object on which the exception was thrown.
+ *
+ * @return The object
+ */
+ public Object getObject() {
+ return object;
+ }
+}