diff options
Diffstat (limited to 'capabilities')
3 files changed, 180 insertions, 0 deletions
diff --git a/capabilities/pom.xml b/capabilities/pom.xml new file mode 100644 index 00000000..5f30af85 --- /dev/null +++ b/capabilities/pom.xml @@ -0,0 +1,71 @@ +<!-- + ============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========================================================= +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.policy.common</groupId> + <artifactId>common-modules</artifactId> + <version>1.3.0-SNAPSHOT</version> + </parent> + + <artifactId>capabilities</artifactId> + <description>Properties</description> + <packaging>jar</packaging> + + <build> + <pluginManagement> + <plugins> + <!--This plugin's configuration is used to store Eclipse + m2e settings only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.jacoco</groupId> + <artifactId> + jacoco-maven-plugin + </artifactId> + <versionRange> + [0.7.1.201405082137,) + </versionRange> + <goals> + <goal>prepare-agent</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> 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(); +} |