001 package nl.cwi.sen1.error.model; 002 003 import nl.cwi.sen1.error.viewer.ErrorViewerBridge; 004 import nl.cwi.sen1.gui.Studio; 005 import errorapi.types.Error; 006 import errorapi.types.Location; 007 008 public class ErrorNode extends SelectableNode { 009 private String producer; 010 011 private String id; 012 013 private Error error; 014 015 private Location location; 016 017 public ErrorNode(Error error, String producer, String id) { 018 super(error); 019 this.id = id; 020 this.producer = producer; 021 this.error = error; 022 } 023 024 public String getProducer() { 025 return producer; 026 } 027 028 public Location getLocation() { 029 return location; 030 } 031 032 public String getId() { 033 return id; 034 } 035 036 public String toString() { 037 return error.getDescription(); 038 } 039 040 public void setLocation(Location location) { 041 this.location = location; 042 } 043 044 public void selected(Studio studio, ErrorViewerBridge bridge) { 045 if (location != null) { 046 bridge.postEvent(studio.getATermFactory().make( 047 "location-selected(<term>)", location.toTerm())); 048 } 049 } 050 051 public boolean isError() { 052 return error.isError(); 053 } 054 055 public boolean isWarning() { 056 return error.isWarning(); 057 } 058 059 public boolean isFatal() { 060 return error.isFatal(); 061 } 062 063 public boolean isInfo() { 064 return error.isInfo(); 065 } 066 }