01 package de.java2html.options;
02 
03 import java.util.ArrayList;
04 import java.util.HashMap;
05 import java.util.List;
06 import java.util.Map;
07 
08 /**
09  @author Markus Gebhard
10  */
11 public abstract class HorizontalAlignment {
12   private final static Map byName = new HashMap();
13   private final static List all = new ArrayList();
14 
15   public final static HorizontalAlignment LEFT = new HorizontalAlignment("left") {
16     @Override
17     public void accept(IHorizontalAlignmentVisitor visitor) {
18       visitor.visitLeftAlignment(this);
19     }
20   };
21   public final static HorizontalAlignment CENTER = new HorizontalAlignment("center") {
22     @Override
23     public void accept(IHorizontalAlignmentVisitor visitor) {
24       visitor.visitCenterAlignment(this);
25     }
26   };
27   public final static HorizontalAlignment RIGHT = new HorizontalAlignment("right") {
28     @Override
29     public void accept(IHorizontalAlignmentVisitor visitor) {
30       visitor.visitRightAlignment(this);
31     }
32   };
33   
34   public static HorizontalAlignment getByName(String name) {
35     return (HorizontalAlignmentbyName.get(name);
36   }
37 
38   public static HorizontalAlignment[] getAll() {
39     return (HorizontalAlignment[]) all.toArray(new HorizontalAlignment[all.size()]);
40   }
41   
42   private String name;
43 
44   public HorizontalAlignment(String name) {
45     this.name = name;
46     byName.put(name, this);
47     all.add(this);
48   }
49 
50   public String getName() {
51     return name;
52   }
53 
54   @Override
55   public String toString() {
56     return "HorizontalAlignment{" + getName() "}";
57   }
58 
59   public abstract void accept(IHorizontalAlignmentVisitor visitor);
60 
61 }