Class OrmFileRecord<T>

java.lang.Object
com.ormfile.orm.OrmFileRecord<T>
All Implemented Interfaces:
IOrmFileRecord<T>

public class OrmFileRecord<T> extends Object implements IOrmFileRecord<T>
Procesa los objetos mapeados y sus retriscciones
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private ArrayList<T>
    Lista de objetos mapeados a guardar de tipo genérico
    private ArrayList<String>
    Lista de registros nuevos a guardar en los archivos de base de datos
  • Constructor Summary

    Constructors
    Constructor
    Description
    OrmFileRecord(@NotNull ArrayList<T> mapped_objects)
    Método constructor para guardar una lista de objetos mapeados
    OrmFileRecord(T mapped_object)
    Método constructor para guardar solamente un objeto mapeado
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    addNewRecordToList(T obj, int sequenceValue)
    Agregar nuevo regustro a la lista, esta lista existe en RAM, no en archivos persistentes
    private int
    analyzeConstraints(T object_instance, Field column, Annotation annotation)
    Analizar las restricciones de tabla de cada columna para poder verificar si los datos a insertar son unicos o es un valor de secuencia
    private void
    Método para procesar los objetos mapeados a guardar en archivos de persistencia de datos
    boolean
    save(Class<T> mapped_class)
    Método para guardar los datos procesados

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • mapped_objects

      private ArrayList<T> mapped_objects
      Lista de objetos mapeados a guardar de tipo genérico
    • newRecordsList

      private ArrayList<String> newRecordsList
      Lista de registros nuevos a guardar en los archivos de base de datos
  • Constructor Details

    • OrmFileRecord

      public OrmFileRecord(@NotNull @NotNull ArrayList<T> mapped_objects)
      Método constructor para guardar una lista de objetos mapeados
      Parameters:
      mapped_objects - Objetos mapeados que se guardaran
    • OrmFileRecord

      public OrmFileRecord(@NotNull T mapped_object)
      Método constructor para guardar solamente un objeto mapeado
  • Method Details

    • save

      public boolean save(Class<T> mapped_class) throws IllegalAccessException, IOException
      Description copied from interface: IOrmFileRecord
      Método para guardar los datos procesados
      Specified by:
      save in interface IOrmFileRecord<T>
      Parameters:
      mapped_class - clase mapeada de la cual se van a guardar los datos
      Returns:
      True si los datos se guardaron correctamente
      Throws:
      IllegalAccessException - si no se puede acceder a las propiedades de los objetos de las clases mapeadas
      IOException - si el arhivo de base de datos no es encontrado
    • processObjects

      private void processObjects() throws IllegalAccessException, IOException
      Método para procesar los objetos mapeados a guardar en archivos de persistencia de datos
      Throws:
      IOException - cuando no se puede acceder a los archivos para comprobar la unicidad de las llaves unicas, llaves foraneas, llaves primarias
      IllegalAccessException
    • analyzeConstraints

      private int analyzeConstraints(T object_instance, Field column, Annotation annotation) throws IOException
      Analizar las restricciones de tabla de cada columna para poder verificar si los datos a insertar son unicos o es un valor de secuencia
      Parameters:
      object_instance - objeto mapeada como tabla
      column - propiedad de la clase mapedad que actua como columna a la que se le verificara el datos almacenado en el objeto
      annotation - la annotation de la propiedad para verificar si es de tipo PK o UK
      Returns:
      si el valor de retorno en mayor a -1 es un valor de secuencia, si el valor es -1, significa que en valor esta libre para insertar, si el valor es -2, significa que en valor que se desea insertar ya esta ocupado por otro registro
      Throws:
      IOException - si el archivo de datos no es encontrado
    • addNewRecordToList

      private void addNewRecordToList(T obj, int sequenceValue) throws IllegalAccessException
      Agregar nuevo regustro a la lista, esta lista existe en RAM, no en archivos persistentes
      Parameters:
      obj - objeto del que se construira la linea de registro
      sequenceValue - secuencia para asignarsela a una llave primaria
      Throws:
      IllegalAccessException - la cause un Field que no se tiene acceso al valor de la propiedad instanciada