ADD file via upload

main
pbcseof6h 6 days ago
parent 2e2e342689
commit 54b94a0e2c

@ -0,0 +1,71 @@
package org.jcnc.jnotepad.controller.manager;
import org.jcnc.jnotepad.app.common.manager.ApplicationCacheManager;
import org.jcnc.jnotepad.ui.component.module.interfaces.ControllerAble;
import java.io.File;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import static org.jcnc.jnotepad.app.utils.TabUtil.addNewFileTab;
import static org.jcnc.jnotepad.app.utils.TabUtil.openFileToTab;
/**
* ControllerAble
*
* @author
*/
public class Controller implements ControllerAble<List<String>> {
private static final ApplicationCacheManager CACHE_MANAGER = ApplicationCacheManager.getInstance();
private static final Controller INSTANCE = new Controller();
private Controller() {
}
/**
* Controller
*
* @return Controller
*/
public static Controller getInstance() {
return INSTANCE;
}
/**
*
*
* @param rawParameters
*/
@Override
public void openAssociatedFileAndCreateTextArea(List<String> rawParameters) {
// 获取上次打开的页面
Optional<Object> cacheData = Optional.ofNullable(CACHE_MANAGER.getCacheData("tabs", "centerTabs"));
// 判空
List<String> fileTab = (List<String>) cacheData.orElse(Collections.emptyList());
// 打开上次打开的标签页
fileTab.forEach(filePath -> openFileToTab(new File(filePath)));
if (!rawParameters.isEmpty()) {
String filePath = rawParameters.get(0);
openAssociatedFile(filePath);
return;
}
if (fileTab.isEmpty()) {
addNewFileTab();
}
}
/**
*
*
* @param filePath
*/
@Override
public void openAssociatedFile(String filePath) {
File file = new File(filePath);
if (file.exists() && file.isFile()) {
openFileToTab(file);
}
}
}
Loading…
Cancel
Save