@@ -0,0 +1,1506 @@
+package task;%0A%0Aimport task.util.type.Parser;%0Aimport task.util.type.Type;%0A%0A/**%0A * Created with IntelliJ IDEA.%0A * User: benjamin%0A * Date: 06/10/13%0A * Time: 18:50%0A * To change this template use File %7C Settings %7C File Templates.%0A */%0Apublic enum Champ %7B%0A%0A  IDT(%22ID%22, 2, Type.INT),%0A  IDR(%22RID%22, 4, Type.INT),%0A  CAT(%22Cat%C3%A9gorie%22, 15, Type.STR),%0A  PRI(%22Pri%22, 3, Type.PRI),%0A  DAT(%22Date%22, 10, Type.DAT),%0A  BEG(%22D%C3%A9but%22, 5, Type.HRE),%0A  END(%22Fin%22, 5, Type.HRE),%0A  REC(%22R%C3%A9c%22, 3, Type.REC),%0A  TAC(%22Description%22, 30, Type.STR),%0A  DEL(%22Sup%22, 3, Type.DEL);%0A%0A  public static final Champ%5B%5D IN  = %7B IDT, IDR, CAT, PRI, DAT, BEG, END, REC, TAC, DEL %7D;%0A  public static final Champ%5B%5D OUT = %7B IDT, CAT, PRI, DAT, BEG, END, REC, TAC %7D;%0A%0A  private final String _name;%0A  private final int    _size;%0A  private final Type   _type;%0A%0A  private Champ(String n, int s, Type t) %7B%0A    _name = n;%0A    _size = s;%0A    _type = t;%0A  %7D%0A%0A  // Formatage du champ pour sortie console%0A  public StringBuilder out(StringBuilder b, String s) %7B%0A    if (b.length() != 0) b.append(%22 %22);%0A    return b.append(Parser.align(s, _type, _size));%0A  %7D%0A%0A  private StringBuilder _title(StringBuilder b) %7B%0A    return out(b, _name);%0A  %7D%0A%0A  // Formatage du champ pour sortie fichier%0A  public StringBuilder in(StringBuilder b, String s) %7B%0A    if (b.length() != 0) b.append(%22%5Ct%22);%0A    return b.append(s);%0A  %7D%0A%0A  // Formatage en-t%C3%AAte%0A  public static StringBuilder title() %7B%0A    StringBuilder b = new StringBuilder();%0A    for (Champ c : OUT) c._title(b);%0A    return b;%0A  %7D%0A%0A%7D%0A

Create Champ.java