Files
VisualSapfor/src/_VisualDVM/ProjectData/SapforData/FileObjectWithMessages.java
2024-10-09 22:21:57 +03:00

59 lines
2.2 KiB
Java

package _VisualDVM.ProjectData.SapforData;
import Common.Visual.Fonts.VisualiserFonts;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Messages.Errors.MessageError;
import _VisualDVM.ProjectData.Messages.Message;
import _VisualDVM.ProjectData.Messages.Notes.MessageNote;
import _VisualDVM.ProjectData.Messages.Warnings.MessageWarning;
public abstract class FileObjectWithMessages extends FileObject {
public String messages_presence = "OK";
public FileObjectWithMessages() {
}
//использовать только если хотим проверять сообщения.
public FileObjectWithMessages(DBProjectFile father_in, int line_in) {
file = father_in.name;
line = line_in;
CheckMessagesPresence();
}
public boolean HasMessage(Message message) {
return message.line == line;
}
public void CheckMessagesPresence() {
messages_presence = "OK";
DBProjectFile father = getFather();
for (MessageError message : father.father.db.errors.Data.values()) {
if (message.file.equals(father.name) && message.line == line) {
messages_presence = "HasErrors";
return;
}
}
for (MessageWarning message : father.father.db.warnings.Data.values()) {
if (message.file.equals(father.name) && message.line == line) {
messages_presence = "HasWarnings";
return;
}
}
for (MessageNote message : father.father.db.notes.Data.values()) {
if (message.file.equals(father.name) && message.line == line) {
messages_presence = "HasNotes";
return;
}
}
}
public String TypeKey() {
return getClass().getSimpleName();
}
public String ImageKey() {
return "/icons/loops/" + messages_presence + TypeKey() + ".png";
}
public VisualiserFonts getFont() {
return VisualiserFonts.TreePlain;
}
//-
public abstract String Description();
@Override
public String toString() {
return Description() + " в строке " + line;
}
}