diff options
author | mmis <michael.morris@ericsson.com> | 2018-07-20 15:28:25 +0100 |
---|---|---|
committer | mmis <michael.morris@ericsson.com> | 2018-07-25 13:16:51 +0100 |
commit | b40acf2d244058c162a8597968e59f2708e6abf4 (patch) | |
tree | d30890a123305c50e3280ebbe02742b72f226c90 /capabilities/src/main/java/org | |
parent | 02bf7de575b246c63188988072aabb36ac3b697b (diff) |
Copy policy-endpoints from drools-pdp to common
Issue-ID: POLICY-967
Change-Id: I374c155ee102c3e157c60d0a22d7191544abb76a
Signed-off-by: mmis <michael.morris@ericsson.com>
Diffstat (limited to 'capabilities/src/main/java/org')
-rw-r--r-- | capabilities/src/main/java/org/onap/policy/common/capabilities/Lockable.java | 48 | ||||
-rw-r--r-- | capabilities/src/main/java/org/onap/policy/common/capabilities/Startable.java | 61 |
2 files changed, 109 insertions, 0 deletions
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(); +} |