KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > quilt > cover > seg > Segment


1 /* Segment.java */
2
3 package org.quilt.cover.seg;
4
5 import java.util.Iterator JavaDoc;
6 import java.util.List JavaDoc;
7
8 /**
9  * A segment for coverage purposes. It has an index and visit count,
10  * and 'from' and 'to', which will typically be line numbers or indices
11  * of some sort.
12  */

13
14 public class Segment {
15    
16     /** ideally unique */
17     private int index = -1;
18     /** visit count */
19     private int visits = 0;
20     /** index, line number, etc */
21     private int from = -1;
22     private int to = -1;
23
24     /** No-arg constructor; creates a segment with -1 index. */
25     public Segment() {
26     }
27     /**
28      * Constructor specifying a segment index.
29      *
30      * @param n The index; should be non-negative.
31      */

32     
33     public Segment (int n) {
34         index = n;
35     }
36     // GET/SET METHODS //////////////////////////////////////////////
37
/** Get the 'from' value. */
38     public int getFrom() {
39         return from;
40     }
41     /** Set the 'from' value. */
42     public void setFrom (int n) {
43         from = n;
44     }
45     
46     /** Get the (ideally unique) index of the segment. */
47     public int getIndex() {
48         return index;
49     }
50     /** Set the segment index. */
51     public void setIndex (int n) {
52         index = n;
53     }
54     
55     /** Get the 'to' value. */
56     public int getTo() {
57         return to;
58     }
59     /** Set the 'to' value. */
60     public void setTo (int n) {
61         to = n;
62     }
63     
64     /** Get the number of visits so far. */
65     public int getVisits() {
66         return visits;
67     }
68     /** Set the number of visits to zero. */
69     public void reset() {
70         visits = 0;
71     }
72     /** Set the number of visits; may never be used. */
73     public void setVisits(int n) {
74         visits = n;
75     }
76     // OTHER METHODS ////////////////////////////////////////////////
77
/**
78      * Add the visit count from another segment.
79      *
80      * @param seg Reference to the other segment.
81      */

82     protected Segment add( final Segment seg ) {
83         visits += seg.getVisits();
84         return this;
85     }
86     /** Step the visit count. */
87     public void visit () {
88         visits++;
89     }
90     /**
91      * Format the segment for XML output.
92      *
93      * @param type String whose value is appropriate for an XML element name.
94      */

95     public String JavaDoc toXML(final String JavaDoc type) {
96         return "<" + type + " index=\"" + index
97             + "\" from=\"" + from
98             + "\" to=\"" + to + "\">\n"
99             
100             + " <visits>" + visits + "</visits>\n"
101
102             + "</" + type + ">\n";
103     }
104     /** Format the segment for output as a String. */
105     public String JavaDoc toString () {
106         return "segment " + index + ": " + from + " --> " + to
107             + " : " + visits + " visits";
108     }
109 }
110
Popular Tags