Class OrmFileDatabase

java.lang.Object
com.ormfile.orm.OrmFileDatabase
All Implemented Interfaces:
IOrmFileDatabase

public class OrmFileDatabase extends Object implements IOrmFileDatabase
Clase que cumple la tarea de crear y eliminar los archivos de las clases mapeadas
Version:
1.0.0
Author:
alexandevcwa
See Also:
  • Field Details

    • ormFileDbSets

      private final ArrayList<OrmFileDbSet> ormFileDbSets
      Lista de tablas a mapear como archivos persistentes
    • generalDirectory

      private final File generalDirectory
      Directorio general donde se almacenan lo archivos de persistencia de datos
    • primaryKeysSequences

      private final ArrayList<String> primaryKeysSequences
      Lista de llaves primarias que trabajan con secuencia
    • logger

      private static final Logger logger
  • Constructor Details

    • OrmFileDatabase

      public OrmFileDatabase(@NotNull @NotNull ArrayList<OrmFileDbSet> ormFileDbSets)
      Método constructor de clase
      Parameters:
      ormFileDbSets - ArrayList con los objetos de clase de las clases mapeadas
    • OrmFileDatabase

      public OrmFileDatabase(@NotNull @NotNull ArrayList<OrmFileDbSet> ormFileDbSets, File generalDirectory)
      Método constructor de clase
      Parameters:
      ormFileDbSets - ArrayList con los objetos de clase de las clases mapeadas
      generalDirectory - objeto con el directorio general de los archivos de persistencia de datos
  • Method Details

    • create

      public void create() throws IOException
      Crea toda la estructura de carpetas y archivos para almacenar los datos
      Specified by:
      create in interface IOrmFileDatabase
      Throws:
      IOException - Se genéra cuando la escritura o lectura de un archivo o directoerio no se puede efectuar
    • createDatabaseStructure

      private void createDatabaseStructure() throws IOException
      Crear toda la estructura de carpetas, archivos y la línea de estructura que va en cada archivo en su primera línea del formato de la tabla
      Throws:
      IOException - Se lanza por falta de permisos en el sistema operativo
    • createFilesAsTables

      private void createFilesAsTables(File schema, OrmFileDbSet dbSet) throws IOException
      Crea totods los archivos de las clases mapeadas
      Parameters:
      schema - Directorio donde se va a almacenar el archivo de la clase mapeada
      dbSet - Objeto que contine la estructura de la clase mapeada para crear el archivo
      Throws:
      IOException
      See Also:
    • createStructureLine

      private void createStructureLine(@NotNull @NotNull File fileTable, @NotNull @NotNull OrmFileDbSet dbSet) throws IOException
      Crea el formato de la clase mapeada para conocer el orden de las columnas, nombre, PK y FK
      Parameters:
      fileTable - Objeto para obtener el archivo de la clase mapeada
      dbSet - Objeto que contine la estructura de la clase mapeada para crear el archivo
      Throws:
      IOException
      See Also:
    • generateFieldLineFormat

      private String generateFieldLineFormat(OrmFilePrimaryKey pk, OrmFileForeignKey fk, @NotNull @NotNull Field column, Class<?> mapper_class)
      Genéra la línea de estructura del orden de las columnas en los archivos de datos persistentes
      Parameters:
      pk - Annotation para identificar la llave primaria en una propiedad de una clase mapeada
      fk - Annotation para identificar la llave foranea en una propiedad de una clase mapeada
      column - Propiedad de una clase mapeada
      Returns:
      String con la estuctura que tiene la propiedad que va a actuar como columna en un archivo de persistencia de datos
      See Also:
    • createPKSequences

      private void createPKSequences() throws IOException
      Crear el archivo de sistema que contiene las llaves primarias definidas con autoincremento
      Throws:
      IOException - si el archivo no se puede crear es lanzada
    • drop

      public void drop()
      ../../..
      Specified by:
      drop in interface IOrmFileDatabase