All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.codingdebugallday.utils.PluginOperatorInfo Maven / Gradle / Ivy

The newest version!
package com.github.codingdebugallday.utils;

import java.util.concurrent.atomic.AtomicBoolean;

/**
 * 

* 操作插件信息 为了解决连续上传安装后 停止后 无法启动的问题。 *

* * @author isaac 2020/6/16 13:59 * @since 1.0 */ public class PluginOperatorInfo { /** * 当前操作类型 */ private OperatorType operatorType; /** * 是否锁定。如果锁定, 则不允许更新操作类型。 * 该参数主要解决在安装插件时 setOperatorType 一次操作类型,但是它又调用了启动插件,而启动插件也要 setOperatorType 一次操作类型 * 所以, 使用该参数, 用于在安装插件时, 锁定 setOperatorType, 在启动时就无法再 setOperatorType 了, 就不会覆盖该值 */ private final AtomicBoolean isLock = new AtomicBoolean(false); /** * 设置操作类型 * * @param operatorType 操作类型 */ public void setOperatorType(OperatorType operatorType) { if (operatorType != null && !isLock.get()) { // 如果锁定了, 则不能更新操作类型 this.operatorType = operatorType; } } /** * 主要用于锁定或者解锁。 * * @param isLock 是否锁定。true 锁定, false 解锁 */ public void setLock(boolean isLock) { this.isLock.set(isLock); } public OperatorType getOperatorType() { return operatorType; } /** * 操作类型 */ public enum OperatorType { /** * 启动插件 */ START, /** * 安装插件 */ INSTALL, } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy