01: import java.awt.BasicStroke;
02: import java.awt.Stroke;
03: 
04: /**
05:    This class defines line styles of various shapes.
06: */
07: public class LineStyle extends SerializableEnumeration
08: {
09:    private LineStyle() {}
10: 
11:    /**
12:       Gets a stroke with which to draw this line style.
13:       @return the stroke object that strokes this line style
14:    */
15:    public Stroke getStroke()
16:    {
17:       if (this == DOTTED)
18:          return DOTTED_STROKE;
19:       return SOLID_STROKE;
20:    }
21: 
22:    private static Stroke SOLID_STROKE = new BasicStroke();
23:    private static Stroke DOTTED_STROKE = new BasicStroke(1.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER, 10.0f, new float[] { 3.0f, 3.0f }, 0.0f);
24: 
25:    public static final LineStyle SOLID = new LineStyle();
26:    public static final LineStyle DOTTED = new LineStyle();
27: }