Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

ModuleDefectList.java

00001 package SctData;
00002 
00003 import java.util.*;
00004 import Sct.*;
00005 
00011 public class ModuleDefectList implements Streamable {
00013     public ModuleDefectList() {
00014     }
00015 
00019     public void addDefect(ModuleDefect defect) throws IllegalArgumentException {
00020         if (defect == null || defect.isPrototype()) throw new IllegalArgumentException("May not add prototypical ModuleDefects to a ModuleDefectList");
00021         defectList.add(defect);
00022     }
00023 
00025     public int size() {
00026         return defectList.size();
00027     }
00028     
00029     public ModuleDefect get(int i) {
00030         return (ModuleDefect)defectList.get(i);
00031     }
00032 
00034     public ModuleDefectList getDefectsAffectingElement(ModuleElement element) {
00035         ModuleDefectList l = new ModuleDefectList();
00036         for (int i=0; i<defectList.size(); ++i) {
00037             ModuleDefect d = get(i);
00038             if (d.getModuleElement().overlaps(element)) l.addDefect(d);
00039         }
00040         return l;
00041     }
00042 
00043     public int getNDefectsAffectingElement(ModuleElement element) {
00044         int count = 0;
00045         for (int i=0; i<defectList.size(); ++i) {
00046             ModuleDefect d = get(i);
00047             if (d.getModuleElement().overlaps(element)) ++count;
00048         }
00049         return count;
00050     }
00051 
00052     public boolean severeDefectAffectingElement(ModuleElement element) {
00053         for (int i=0; i<defectList.size(); ++i) {
00054             ModuleDefect d = get(i);
00055             if (d.isSevere()) return true;
00056         }
00057         return false;
00058     }
00059 
00060     public boolean defectAffectingElement(ModuleElement element) {
00061         for (int i=0; i<defectList.size(); ++i) {
00062             ModuleDefect d = get(i);
00063             if (d.getModuleElement().overlaps(element)) return true;
00064         }
00065         return false;
00066     }
00067 
00068     public boolean defectAffectingElement(ModuleElement element, ModuleDefect defect) {
00069         for (int i=0; i<defectList.size(); ++i) {
00070             ModuleDefect d = get(i);
00071             if (d.isSameTypeAs(defect) && d.getModuleElement().overlaps(element)) return true;
00072         }
00073         return false;
00074     }
00075 
00076     public ModuleDefectList getDefectsEncompassingElement(ModuleElement element) {
00077         ModuleDefectList l = new ModuleDefectList();
00078         for (int i=0; i<defectList.size(); ++i) {
00079             ModuleDefect d = get(i);
00080             if (d.getModuleElement().superset(element)) l.addDefect(d);
00081         }
00082         return l;
00083     }
00084 
00085     public int getNDefectsEncompassingElement(ModuleElement element) {
00086         int count = 0;
00087         for (int i=0; i<defectList.size(); ++i) {
00088             ModuleDefect d = get(i);
00089             if (d.getModuleElement().superset(element)) ++count;
00090         }
00091         return count;        
00092     }
00093 
00094     public boolean severeDefectEncompassingElement(ModuleElement element) {
00095         for (int i=0; i<defectList.size(); ++i) {
00096             ModuleDefect d = get(i);
00097             if (d.isSevere() && d.getModuleElement().superset(element)) return true;
00098         }
00099         return false;
00100     }
00101 
00102     public boolean defectEncompassingElement(ModuleElement element) {
00103         for (int i=0; i<defectList.size(); ++i) {
00104             ModuleDefect d = get(i);
00105             if (d.getModuleElement().superset(element)) return true;
00106         }
00107         return false;
00108     }
00109 
00110     public boolean defectEncompassingElement(ModuleElement element, ModuleDefect defect) {
00111         for (int i=0; i<defectList.size(); ++i) {
00112             ModuleDefect d = get(i);
00113             if (d.isSameTypeAs(defect) && d.getModuleElement().superset(element)) return true;
00114         }
00115         return false;
00116     }
00117 
00118     public String getClassName() {
00119         return "SctData.ModuleDefectList";
00120     }
00121     
00122     public void add(ModuleDefectList param) {
00123         defectList.addAll(param.defectList);
00124     }
00125     
00126         
00127     public static ModuleDefectList read(IStream s, ObjectManager o) throws java.io.IOException {
00128         ModuleDefectList ml = new ModuleDefectList();
00129         int nDefects = s.readInt("NDefects");
00130         for (int i=0; i<nDefects; ++i) {
00131             ModuleDefect d = (ModuleDefect)o.readObject(s, "Defect", "SctData.ModuleDefect");
00132             ml.addDefect(d);
00133         }
00134         return ml;
00135     }
00136     
00137     public void write(OStream s, ObjectManager o) throws java.io.IOException {
00138         s.writeInt("NDefects", size(), false);
00139         for (int i=0; i<size(); ++i) {
00140             o.writeObject(s, "Defect", get(i), false);
00141         }
00142     }
00143 
00144     private ArrayList defectList = new ArrayList();
00145 }

Generated on Thu Jul 15 09:55:45 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5