Files
VisualSapfor/src/_VisualDVM/ProjectData/Files/ProjectFile.java

71 lines
2.3 KiB
Java
Raw Normal View History

2024-10-09 22:21:57 +03:00
package _VisualDVM.ProjectData.Files;
import Common.CommonConstants;
2024-10-14 15:19:13 +03:00
import Common.Database.Objects.DBObject;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Constants;
2024-10-09 22:21:57 +03:00
import _VisualDVM.ProjectData.LanguageName;
import javax.swing.*;
import java.io.File;
import java.net.URL;
public class ProjectFile extends projectFile_ {
public File file = null; //собственно, файл на который ссылаемся.
public FileState state = FileState.Undefined; //состояние файла.
public ProjectFile() {
}
public ProjectFile(File file_in) {
super(file_in);
file = file_in;
}
@Override
public Object getPK() {
return file.getName();
}
@Override
public void AutoDetectProperties(String name_in) {
super.AutoDetectProperties(name_in);
if (fileType.equals(FileType.forbidden) || fileType.equals(FileType.none))
state= FileState.Excluded;
}
public String ImageKey() {
//icons/files/Excludeddata.png
String pref = "/icons/files/";
String body;
switch (fileType) {
case program:
body = state.toString() + languageName.toString();
break;
case data:
body = "Undefined"; // иных состояний у данных не бывает. ситуация возникает если по ошибке поменяли тип
//нормальных файлов с сообщениями на дату.
break;
default:
body = state.toString();
break;
}
return pref + body + fileType + ".png";
}
public ImageIcon GetIcon() {
URL imageUrl = getClass().getResource(ImageKey());
if (imageUrl == null) {
System.out.println(ImageKey() + "not found");
}
return new ImageIcon(imageUrl);
}
public String getUnixName() {
2024-10-11 00:00:30 +03:00
return Utils_.toU(file.getName());
}
@Override
public String toString() {
return file.getName();
}
public String getQSourceName() {
2024-10-11 00:00:30 +03:00
return Utils_.DQuotes(getUnixName());
}
public boolean isNotExcludedProgram() {
return fileType.equals(FileType.program) && !languageName.equals(LanguageName.n) && !state.equals(FileState.Excluded);
}
}