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

com.acgist.snail.gui.event.GuiEventArgs Maven / Gradle / Ivy

Go to download

基于Java开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。

There is a newer version: 2.17.0
Show newest version
package com.acgist.snail.gui.event;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.acgist.snail.context.GuiContext;
import com.acgist.snail.context.GuiContext.Mode;

/**
 * 

GUI变长参数事件

* * @author acgist */ public abstract class GuiEventArgs extends GuiEvent { private static final Logger LOGGER = LoggerFactory.getLogger(GuiEventArgs.class); /** * @param type 事件类型 * @param name 事件名称 */ protected GuiEventArgs(Type type, String name) { super(type, name); } @Override protected final void executeNative(Object ... args) { this.executeExtend(Mode.NATIVE, args); } @Override protected final void executeExtend(Object ... args) { this.executeExtend(Mode.EXTEND, args); } /** *

校验参数

* * @param args 参数 * @param length 参数长度 * * @return 是否校验成功 */ protected final boolean check(Object[] args, int length) { return this.check(args, length, length); } /** *

校验参数

* * @param args 参数 * @param minLength 最小参数长度 * @param maxLength 最大参数长度 * * @return 是否校验成功 */ protected final boolean check(Object[] args, int minLength, int maxLength) { if(args == null) { LOGGER.warn("参数格式错误:{}-{}", this.name, args); return false; } if(args.length < minLength || args.length > maxLength) { LOGGER.warn("参数格式错误(长度):{}-{}", this.name, args); return false; } return true; } /** *

获取参数

* * @param args 参数 * @param index 参数序号 * * @return 参数 */ protected final Object getArg(Object[] args, int index) { return this.getArg(args, index, null); } /** *

获取参数

* * @param args 参数 * @param index 参数序号 * @param defaultValue 默认值 * * @return 参数 */ protected final Object getArg(Object[] args, int index, Object defaultValue) { if(args.length > index) { final Object arg = args[index]; return arg == null ? defaultValue : arg; } else { return defaultValue; } } /** *

执行变长参数GUI事件

* * @param mode 运行模式 * @param args 变长参数 */ protected abstract void executeExtend(GuiContext.Mode mode, Object ... args); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy