From b40acf2d244058c162a8597968e59f2708e6abf4 Mon Sep 17 00:00:00 2001 From: mmis Date: Fri, 20 Jul 2018 15:28:25 +0100 Subject: Copy policy-endpoints from drools-pdp to common Issue-ID: POLICY-967 Change-Id: I374c155ee102c3e157c60d0a22d7191544abb76a Signed-off-by: mmis --- .../onap/policy/common/capabilities/Lockable.java | 48 +++++++++++++++++ .../onap/policy/common/capabilities/Startable.java | 61 ++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 capabilities/src/main/java/org/onap/policy/common/capabilities/Lockable.java create mode 100644 capabilities/src/main/java/org/onap/policy/common/capabilities/Startable.java (limited to 'capabilities/src') diff --git a/capabilities/src/main/java/org/onap/policy/common/capabilities/Lockable.java b/capabilities/src/main/java/org/onap/policy/common/capabilities/Lockable.java new file mode 100644 index 00000000..6e5680d1 --- /dev/null +++ b/capabilities/src/main/java/org/onap/policy/common/capabilities/Lockable.java @@ -0,0 +1,48 @@ +/*- + * ============LICENSE_START======================================================= + * policy-core + * ================================================================================ + * Copyright (C) 2017 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. + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.capabilities; + +/** + * Interface for classes that supports lock/unlock operations. + */ +public interface Lockable { + + /** + * locks this entity + * + * @return true is the lock operation was successful, false otherwise + */ + public boolean lock(); + + /** + * unlocks this entity + * + * @return true is the unlock operation was successful, false otherwise + */ + public boolean unlock(); + + /** + * is this entity locked? + * + * @return true if the entity is in a locked state, false otherwise + */ + public boolean isLocked(); +} diff --git a/capabilities/src/main/java/org/onap/policy/common/capabilities/Startable.java b/capabilities/src/main/java/org/onap/policy/common/capabilities/Startable.java new file mode 100644 index 00000000..1595272d --- /dev/null +++ b/capabilities/src/main/java/org/onap/policy/common/capabilities/Startable.java @@ -0,0 +1,61 @@ +/* + * ============LICENSE_START======================================================= + * policy-core + * ================================================================================ + * 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. + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.capabilities; + +/** + * Interface for classes that supports start-like operations. + */ +public interface Startable { + + /** + * Start operation. This operation starts the entity. + * + * @return boolean. true if the start operation was successful, otherwise false. + * @throws IllegalStateException. if the element is in a state that conflicts with the start + * operation. + */ + public boolean start(); + + /** + * Stop operation. The entity can be restarted again by invoking the start operation. + * + * @return boolean. true if the stop operation was successful, otherwise false. + * @throws IllegalStateException. if the element is in a state that conflicts with the stop + * operation. + */ + public boolean stop(); + + /** + * shutdown operation. The terminate operation yields the entity unusuable. It cannot be + * (re)started. + * + * @throws IllegalStateException. if the element is in a state that conflicts with the stop + * operation. + */ + public void shutdown(); + + /** + * is it alive? + * + * @return boolean. true if alive, otherwise false + */ + public boolean isAlive(); +} -- cgit 1.2.3-korg