package app; import kernel.Cell; import kernel.Grid; import kernel.exception.CellNotFoundException; import kernel.exception.CreateCycleException; import kernel.exception.InvalidIntervalLineColumnEception; import kernel.function.Average; import kernel.function.Sum; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class Application implements Serializable{ //private static final long serialVersionUID = 1L; public static void main(String[] args) throws IOException { File fichier = new File("essai.ser") ; // ouverture d'un flux sur un fichier ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fichier)) ; Grid grid = new Grid(); // Création System.out.println("Création de quelques cases..."); try { grid.createCell("AA", 1, 10.); grid.createCell("B", 1, 0.); grid.createCell("A", 2, 5.); List sumList = new ArrayList<>(); sumList.add(grid.getCell("A", 1)); sumList.add(grid.getCell("A", 2)); grid.createCell("A", 3, new Sum(sumList)); List averageList = new ArrayList<>(); averageList.add(grid.getCell("A", 3)); averageList.add(grid.getCell("B", 1)); grid.createCell("B", 2, new Average(averageList)); } catch (CellNotFoundException exception) { System.out.println(exception.getMessage()); } catch (CreateCycleException exception) { System.out.println(exception.toString()); } catch (InvalidIntervalLineColumnEception exception) { System.out.println(exception.toString()); } // Affichage List cells = grid.getCells(); System.out.println("Affichage des valeurs :"); for (Cell cell : cells) System.out.println(cell.getId() + ": " + cell.getValue()); System.out.println("Affichage des formules :"); for (Cell cell : cells) System.out.println(cell.getId() + ": " + cell.toString()); System.out.println("Affichage des formules développées :"); for (Cell cell : cells) System.out.println(cell.getId() + ": " + cell.getDevelopedFormula()); // Propagation try { grid.setValue("A", 1, 20.); } catch (CellNotFoundException exception) { System.out.println("exception"); } System.out.println("Affichage des valeurs après modification :"); for (Cell cell : cells) System.out.println(cell.getId() + ": " + cell.getValue()); // sérialization de l'objet oos.writeObject(grid); oos.close(); } }