java.lang.Object
io.github.josecarlosbran.JBSqlUtils.DataBase.Take<T>

public class Take<T> extends Object
Clase que proporciona la logica para tomar una cantidad de resultados, siendo esa cantidad el limite trasladado como parametro para el constructor.
Author:
Jose Bran
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected ExecutorService
    Ejecutor de tareas asincronas
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Take(String sql, int limite, List<Column> parametros)
    Constructor que recibe como parametro:
    protected
    Take(String sql, int limite, T modelo, List<Column> parametros)
    Constructor que recibe como parametro:
    protected
    Take(String sql, int limite, T modelo, List<Column> parametros, Boolean getPropertySystem)
    Constructor que recibe como parametro:
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Cierra la conexión a BD's del modelo.
    void
    Cierra la conexión a BD's
    protected void
    convertJavaToSQL(Column columnsSQL, PreparedStatement ejecutor, int auxiliar)
    Metodo que setea la información de la columna Java en el respectivo tipo de Dato SQL
    protected void
    convertSQLtoJava(ColumnsSQL columna, ResultSet resultado, Method metodo, Column columnaSql, Object invocador)
    Metodo que convierte la información obtenida de BD's a Java
    protected void
    convertSQLtoJson(ColumnsSQL columna, ResultSet resultado, org.json.JSONObject temp)
    Agrega la columna como una propiedad del Json Object envíado como parametro
    Crea la tabla correspondiente al modelo en BD's si esta no existe.
    protected Boolean
    Crea la tabla solicitada correspondiente al modelo con las columnas especificadas como parametro
    protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion>
    Integer
    deleteModel(T modelo)
    Elimina la información del modelo proporcionado en BD's
    Elimina la tabla correspondiente al modelo en BD's
    int
    Ejecuta la sentencia SQL proporcionada y retorna la cantidad de filas afectadas
    protected <T extends JBSqlUtils>
    T
    first(T modelo, String Sql, List<Column> parametros)
    Obtiene un modelo del tipo que invoca este método con la información que obtiene de BD's
    protected <T extends JBSqlUtils>
    T
    firstOrFail(T modelo, String Sql, List<Column> parametros)
    Obtiene un modelo del tipo que invoca este metodo con la información que obtiene de BD's
    <T extends JBSqlUtils>
    List<T>
    get()
    Obtiene una lista de modelos que coinciden con la busqueda realizada por medio de la consulta SQL proporcionada
    protected List<org.json.JSONObject>
    get(String Sql, List<Column> parametros, List<String> columnas)
    Obtiene una lista de Json Object la cual contiene cada uno de los registros que cumple con la sentencia sql Envíada como parametro
    protected <T extends JBSqlUtils>
    void
    get(T modelo, String Sql, List<Column> parametros)
    Llena el modelo que invoca este método con la información que obtiene de BD's
    protected <T extends JBSqlUtils>
    List<T>
    getAll(T modelo, String Sql, List<Column> parametros)
    Obtiene una lista de modelos que coinciden con la busqueda realizada por medio de la consulta SQL proporcionada
    Obtiene el nombre de la Base de Datos a la que se conectara el modelo.
    protected void
    Obtiene las columnas que tiene la tabla correspondiente al modelo en BD's.
    protected Connection
    Obtiene la conexión del Modelo a la Base de Datos.
    Obtiene la conexión del modelo a la BD's con las propiedades definidas.
    Cantidad de conexiones que ha realizado el modelo a BD's
    Obtiene el nombre de la columna correspondiente a la TimeStamp CreateAT
    Obtiene el tipo de base de datos al cual se conectara el modelo
    Obtiene el formato de fecha en el que se desea que JBSqlUtils almacene las TimeStamp
    Obtiene la bandera que indica si el modelo utilizara la configuración general o una configuración personalidada, sobre la conexión a la BD's del Modelo.
    Obtiene el host en el cual se encuentra la BD's a la cual se desea conectar el modelo.
    List<org.json.JSONObject>
    Obtiene una lista de Json Object la cual contiene cada uno de los registros que cumple con la sentencia sql Envíada como parametro
    protected List<Method>
    Obtiene la lista de los métodos get del modelo que lo invoca.
    protected <T> void
    Obtiene la lista de métodos pertenecientes al modelo que lo invoca.
    protected List<Method>
    Obtiene la lista de los métodos set del modelo que lo invoca.
    Obtiene la Bandera que sirve para identificar si el modelo existe en BD's, de existir cuando se llame al metodo save se procedera a actualizar el modelo
    Obtiene la contraseña del usuario con el cual el modelo se conectara a la BD's.
    Obtiene el puerto en el cual se encuentra escuchando la BD's a la cual se pega el modelo.
    Obtiene la clave primaria del modelo.
    Obtiene la bandera que indica si la clave primaria del modelo es autoincrementable.
    Obtiene la propiedades extra de la url de conexión a la BD's
    void
    método que se encarga de inicializar las propiedades de conexión del modelo, las cuales las obtiene de las propiedades del sistema Java.
    protected TablesSQL
    Representa la metadata de la tabla correspondiente al modelo en BD's Retorna la TablaSQL correspondiente al modelo
    Obtiene la bandera que indica si la tabla correspondiente al modelo en BD's
    Obtiene el nombre de la tabla en BD's correspondiente al modelo.
    Obtiene la bandera que indica si la tarea que estaba realizando el modelo ha sido terminada
    protected Boolean
    Obtiene la bandera que define si el modelo desea que JBSqlUtils maneje las timestamps Created_at, Update_at.
    Obtiene el nombre de la columna correspondiente a la TimeStamp UpdateAT
    Obtiene el usuario con el cual el modelo se conectara a la BD's.
    <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion, G extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion>
    void
    Llena las propiedades de conexión de un modelo desde otro
    <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion>
    T
    Obtiene una instancia nueva del tipo de modelo que se envía como parametro
    protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion>
    T
    procesarResultSet(T modelo, ResultSet registros)
    Obtiene un nuevo modelo del tipo de modelo proporcionado para procesar el ResultSet con la información de BD's
    protected org.json.JSONObject
    procesarResultSetJSON(List<String> columnas, ResultSet registros)
    Obtiene un Json Object con las columnas solicitadas como propiedades del json con sus respectivos valores
    protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion>
    void
    procesarResultSetOneResult(T modelo, ResultSet registros)
    Llena el modelo proporcionado con la Información Obtenida de BD's
    void
    Metodo que actualiza la información que el modelo tiene sobre lo que existe en BD's'
    protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion>
    Integer
    saveModel(T modelo)
    Almacena el modelo proporcionado en BD's.
    void
    Setea el nombre de la Base de Datos a la que se conectara el modelo.
    protected void
    Setea la conexión del Modelo a la Base de Datos.
    protected void
    setContadorConexiones(Integer contadorConexiones)
    Setea la cantidad de conexiones que a realizado el modelo
    void
    setCreatedAt(String createdAt)
    Setea el nombre de la columna correspondiente a la TimeStamp CreateAT
    void
    Setea el tipo de BD's a la cual se estara conectando el Modelo
    void
    setDateFormat(String dateFormat)
    Setea el formato de fecha en el que se desea que JBSqlUtils almacene las TimeStamp
    void
    setGetPropertySystem(Boolean getPropertySystem)
    Setea la bandera que indica si el modelo utilizara la configuración general o una configuración personalidada, sobre la conexión a la BD's del Modelo.
    void
    Setea el host en el cual se encuentra la BD's a la cual se conectara el modelo.
    void
    setModelExist(Boolean modelExist)
    Setea la Bandera que sirve para identificar si el modelo existe en BD's, de existir cuando se llame al metodo save se procedera a actualizar el modelo
    void
    setPassword(String password)
    Setea la contraseña del usuario con el cual el modelo se conectara a la BD's.
    void
    Setea el puerto en el cual se encuentra escuchando la BD's a la cual se pegara el modelo.
    void
    setPrimaryKey(String primaryKey)
    Setea la clave primaria del modelo
    void
    setPrimaryKeyIsIncremental(Boolean primaryKeyIsIncremental)
    Setea la información sobre si la clave primaria es autoincrementable.
    void
    setPropertisURL(String propertisURL)
    Setea las propiedades extra para la url de conexión a BD's
    protected void
    Setea la tabla que representa al modelo en BD's
    protected void
    setTableExist(Boolean tableExist)
    Setea la bandera que indica si la tabla correspondiente al modelo existe en BD's
    protected void
    setTableName(String tableName)
    Setea el nombre de la tabla en BD's correspondiente al modelo.
    protected void
    setTaskIsReady(Boolean taskIsReady)
    Setea el valor de la bandera que indica si el modelo actual esta realizando una tarea
    void
    setTimestamps(Boolean timestamps)
    Setea la bandera que define si el modelo desea que JBSqlUtils maneje las timestamps Created_at, Update_at.
    void
    setUpdateAT(String updateAT)
    Setea el nombre de la columna correspondiente a la TimeStamp UpdateAT
    void
    Setea el Usuario con el cual el modelo se conectara a la BD's.
    Verifica la existencia de la tabla correspondiente al modelo en BD's
    void
    Si queremos utilizar el mismo modelo para realizar otra operación en BD's es necesario que esperemos a que el modelo no este realizando ninguna tarea, relacionada con lectura o escritura.

    Methods inherited from class java.lang.Object

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

    • ejecutor

      protected ExecutorService ejecutor
      Ejecutor de tareas asincronas
  • Constructor Details

    • Take

      protected Take(String sql, int limite, T modelo, List<Column> parametros) throws ValorUndefined, DataBaseUndefind, PropertiesDBUndefined
      Constructor que recibe como parametro:
      Parameters:
      sql - Sentencia SQL a la cual se agregara la logica del limite.
      limite - Entero que representa la cantidad maxima de valores recuperados.
      modelo - Modelo que solicita la creación de esta clase
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      Throws:
      ValorUndefined - Lanza esta Excepción si la sentencia sql proporcionada esta vacía o es Null
      DataBaseUndefind - Lanza esta excepción si en las propiedades del sistema no esta definida el tipo de BD's a la cual se conectara el modelo.
      PropertiesDBUndefined - Lanza esta excepción si en las propiedades del sistema no estan definidas las propiedades de conexión necesarias para conectarse a la BD's especificada.
    • Take

      protected Take(String sql, int limite, T modelo, List<Column> parametros, Boolean getPropertySystem) throws ValorUndefined, DataBaseUndefind, PropertiesDBUndefined
      Constructor que recibe como parametro:
      Parameters:
      sql - Sentencia SQL a la cual se agregara la logica del limite.
      limite - Entero que representa la cantidad maxima de valores recuperados.
      modelo - Modelo que solicita la creación de esta clase
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      getPropertySystem - Indica si el modelo obtendra las propiedades de conexión de las propiedades del sistema
      Throws:
      ValorUndefined - Lanza esta Excepción si la sentencia sql proporcionada esta vacía o es Null
      DataBaseUndefind - Lanza esta excepción si en las propiedades del sistema no esta definida el tipo de BD's a la cual se conectara el modelo.
      PropertiesDBUndefined - Lanza esta excepción si en las propiedades del sistema no estan definidas las propiedades de conexión necesarias para conectarse a la BD's especificada.
    • Take

      protected Take(String sql, int limite, List<Column> parametros) throws DataBaseUndefind, PropertiesDBUndefined, ValorUndefined
      Constructor que recibe como parametro:
      Parameters:
      sql - Sentencia SQL a la cual se agregara la logica del limite.
      limite - Entero que representa la cantidad maxima de valores recuperados.
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      Throws:
      ValorUndefined - Lanza esta Excepción si la sentencia sql proporcionada esta vacía o es Null
      DataBaseUndefind - Lanza esta excepción si en las propiedades del sistema no esta definida el tipo de BD's a la cual se conectara el modelo.
      PropertiesDBUndefined - Lanza esta excepción si en las propiedades del sistema no estan definidas las propiedades de conexión necesarias para conectarse a la BD's especificada.
  • Method Details

    • get

      public <T extends JBSqlUtils> List<T> get() throws Exception
      Obtiene una lista de modelos que coinciden con la busqueda realizada por medio de la consulta SQL proporcionada
      Type Parameters:
      T - Definición del procedimiento que indica que cualquier clase podra invocar el método.
      Returns:
      Retorna una lista de modelos que coinciden con la busqueda realizada por medio de la consulta SQL proporcionada
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • execute

      public int execute() throws Exception
      Ejecuta la sentencia SQL proporcionada y retorna la cantidad de filas afectadas
      Returns:
      Retorna un Entero que representa la cantidad de filas afectadas al ejecutar la sentencia SQL proporcionada.
      Throws:
      Exception - Si sucede una excepción en la ejecución asincrona de la sentencia en BD's lanza esta excepción
    • getInJsonObjects

      public List<org.json.JSONObject> getInJsonObjects(List<String> columnas) throws Exception
      Obtiene una lista de Json Object la cual contiene cada uno de los registros que cumple con la sentencia sql Envíada como parametro
      Parameters:
      columnas - Lista con los nombres de las columnas que se desea recuperar, si se desea obtener odas las columnas de la tabla especificada envíar NULL como parametro
      Returns:
      Retorna una lista de Json Object la cual contiene cada uno de los registros que cumple con la sentencia sql Envíada como parametro
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • get

      protected <T extends JBSqlUtils> void get(T modelo, String Sql, List<Column> parametros) throws Exception
      Llena el modelo que invoca este método con la información que obtiene de BD's
      Type Parameters:
      T - Definición del procedimiento que indica que cualquier clase podra invocar el método.
      Parameters:
      modelo - Modelo que será llenado
      Sql - Sentencia SQL para obtener el modelo
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • first

      protected <T extends JBSqlUtils> T first(T modelo, String Sql, List<Column> parametros) throws Exception
      Obtiene un modelo del tipo que invoca este método con la información que obtiene de BD's
      Type Parameters:
      T - Definición del procedimiento que indica que cualquier clase podra invocar el método.
      Parameters:
      modelo - Modelo que está invocando el método
      Sql - Sentencia SQL para obtener el modelo
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      Returns:
      Retorna un un modelo del tipo que invoca este método con la información que obtiene de BD's.
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • firstOrFail

      protected <T extends JBSqlUtils> T firstOrFail(T modelo, String Sql, List<Column> parametros) throws Exception
      Obtiene un modelo del tipo que invoca este metodo con la información que obtiene de BD's
      Type Parameters:
      T - Definición del procedimiento que indica que cualquier clase podra invocar el metodo.
      Parameters:
      modelo - Modelo que está invocando el metodo
      Sql - Sentencia SQL para obtener el modelo
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      Returns:
      Retorna un un modelo del tipo que invoca este metodo con la información que obtiene de BD's.
      Throws:
      ModelNotFound - Lanza esta excepción si no logra encontrar el registro correspondiente a la consulta SQL realizada.
      Exception
    • getAll

      protected <T extends JBSqlUtils> List<T> getAll(T modelo, String Sql, List<Column> parametros) throws Exception
      Obtiene una lista de modelos que coinciden con la busqueda realizada por medio de la consulta SQL proporcionada
      Type Parameters:
      T - Definición del procedimiento que indica que cualquier clase podra invocar el metodo.
      Parameters:
      modelo - Modelo que está invocando el metodo
      Sql - Sentencia SQL para obtener el modelo
      parametros - Lista de parametros a ser agregados a la sentencia SQL
      Returns:
      Retorna una lista de modelos que coinciden con la busqueda realizada por medio de la consulta SQL proporcionada
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • get

      protected List<org.json.JSONObject> get(String Sql, List<Column> parametros, List<String> columnas) throws Exception
      Obtiene una lista de Json Object la cual contiene cada uno de los registros que cumple con la sentencia sql Envíada como parametro
      Parameters:
      Sql - Sentencia SQL
      parametros - Lista de parametros de la sentencia SQL
      columnas - Lista con los nombres de las columnas que se desea recuperar, si se desea obtener todas las columnas de la tabla especificada envíar NULL como parametro
      Returns:
      Retorna una lista de Json Object la cual contiene cada uno de los registros que cumple con la sentencia sql Envíada como parametro
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • getMethodsModel

      protected <T> void getMethodsModel()
      Obtiene la lista de métodos pertenecientes al modelo que lo invoca.
      Type Parameters:
      T - Definición del procedimiento que indica que cualquier clase podra invocar el metodo.
    • getConnection

      public Connection getConnection()
      Obtiene la conexión del modelo a la BD's con las propiedades definidas.
      Returns:
      Retorna la conexión del modelo a la BD's con las propiedades definidas.
    • closeConnection

      public void closeConnection(Connection connect)
      Cierra la conexión a BD's
      Parameters:
      connect - Conexión que se desea cerrar
    • closeConnection

      protected void closeConnection()
      Cierra la conexión a BD's del modelo.
    • tableExist

      public Boolean tableExist() throws Exception
      Verifica la existencia de la tabla correspondiente al modelo en BD's
      Returns:
      True si la tabla correspondiente al modelo existe en BD's, de lo contrario False.
      Throws:
      Exception - Si sucede una excepción en la ejecución asincrona de la sentencia en BD's lanza esta excepción
    • getColumnsTable

      protected void getColumnsTable(Connection connect)
      Obtiene las columnas que tiene la tabla correspondiente al modelo en BD's.
      Parameters:
      connect - a BD's para obtener la metadata
    • refresh

      public void refresh() throws Exception
      Metodo que actualiza la información que el modelo tiene sobre lo que existe en BD's'
      Throws:
      Exception - Lanza una Excepción si ocurre algun error al ejecutar el metodo refresh
    • convertJavaToSQL

      protected void convertJavaToSQL(Column columnsSQL, PreparedStatement ejecutor, int auxiliar) throws SQLException
      Metodo que setea la información de la columna Java en el respectivo tipo de Dato SQL
      Parameters:
      columnsSQL - Columna java que será analizada
      ejecutor - PreparedStatement sobre el cual se estara envíando la información de la columna
      auxiliar - Indice que indica la posición del parametro en el ejecutor.
      Throws:
      SQLException - Lanza esta excepción si sucede algún problema al setear el valor Java en el ejecutor.
    • convertSQLtoJava

      protected void convertSQLtoJava(ColumnsSQL columna, ResultSet resultado, Method metodo, Column columnaSql, Object invocador) throws SQLException, InvocationTargetException, IllegalAccessException
      Metodo que convierte la información obtenida de BD's a Java
      Parameters:
      columna - Columna del modelo
      resultado - ResulSet que está siendo evaludo
      metodo - Metodo Set en el que se seteara la columna del modelo
      columnaSql - Columna SQL que corresponde a la columna del modelo
      invocador - Invocador del metodo
      Throws:
      SQLException - Lanza esta excepción de suceder algún problema con el ResultSet
      InvocationTargetException - Lanza esta excepción si hubiera algún problema al invocar el metodo Set
      IllegalAccessException - Lanza esta excepción si hubiera algún problema al invocar el metodo Set
    • convertSQLtoJson

      protected void convertSQLtoJson(ColumnsSQL columna, ResultSet resultado, org.json.JSONObject temp) throws SQLException
      Agrega la columna como una propiedad del Json Object envíado como parametro
      Parameters:
      columna - Columna que se obtendra.
      resultado - ResultSet del cual se obtendra el valor para la columna.
      temp - Json Object al cual se agregara el valor de la columna como una propiedad del JSON.
      Throws:
      SQLException - An exception that provides information on a database access error or other errors.
    • saveModel

      protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion> Integer saveModel(T modelo) throws Exception
      Almacena el modelo proporcionado en BD's.
      Type Parameters:
      T - Expresión que hace que el metodo sea generico y pueda ser utilizado por cualquier objeto que herede la Clase JBSqlUtils
      Parameters:
      modelo - Modelo que será insertado o actualizado en BD's
      Returns:
      La cantidad de filas almacenadas en BD's
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • deleteModel

      protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion> Integer deleteModel(T modelo) throws Exception
      Elimina la información del modelo proporcionado en BD's
      Type Parameters:
      T - Expresión que hace que el metodo sea generico y pueda ser utilizado por cualquier objeto que herede la Clase JBSqlUtils
      Parameters:
      modelo - Modelo del cual se desea eliminar la información en BD's
      Returns:
      La cantidad de filas eliminadas en BD's
      Throws:
      Exception - Si sucede una excepción en la ejecución asyncrona de la sentencia en BD's captura la excepción y la lanza en el hilo principal
    • obtenerInstanciaOfModel

      public <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion> T obtenerInstanciaOfModel(T modelo)
      Obtiene una instancia nueva del tipo de modelo que se envía como parametro
      Type Parameters:
      T - Expresión que hace que el metodo sea generico y pueda ser utilizado por cualquier objeto que herede la Clase JBSqlUtils
      Parameters:
      modelo - Tipo de objeto que se desea instanciar
      Returns:
      Retorna la nueva instancia del modelo creada
    • procesarResultSet

      protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion> T procesarResultSet(T modelo, ResultSet registros) throws InstantiationException, IllegalAccessException, InvocationTargetException, SQLException, DataBaseUndefind, PropertiesDBUndefined, NoSuchMethodException
      Obtiene un nuevo modelo del tipo de modelo proporcionado para procesar el ResultSet con la información de BD's
      Type Parameters:
      T - Expresión que hace que el metodo sea generico y pueda ser utilizado por cualquier objeto que herede la Clase JBSqlUtils
      Parameters:
      modelo - Modelo que invoca el metodo.
      registros - Resulset que contiene la información obtenida de BD's
      Returns:
      Retorna un nuevo modelo del tipo de modelo proporcionado para procesar el ResultSet con la información de BD's
      Throws:
      InstantiationException - Lanza esta excepción si ocurre un error al crear una nueva instancia del tipo de modelo proporcionado
      SQLException - Lanza esta excepción de suceder algún problema con el ResultSet
      InvocationTargetException - Lanza esta excepción si hubiera algún problema al invocar el metodo Set
      IllegalAccessException - Lanza esta excepción si hubiera algún problema al invocar el metodo Set
      DataBaseUndefind - Lanza esta excepción si en las propiedades del sistema no esta definida el tipo de BD's a la cual se conectara el modelo.
      PropertiesDBUndefined - Lanza esta excepción si en las propiedades del sistema no estan definidas las propiedades de conexión necesarias para conectarse a la BD's especificada.
      NoSuchMethodException - Lanza esta excepción si el modelo no posee el metodo que se invocara
    • procesarResultSetOneResult

      protected <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion> void procesarResultSetOneResult(T modelo, ResultSet registros) throws InstantiationException, IllegalAccessException, InvocationTargetException, SQLException
      Llena el modelo proporcionado con la Información Obtenida de BD's
      Parameters:
      modelo - Modelo que invoca el metodo.
      registros - Resulset que contiene la información obtenida de BD's
      Throws:
      InstantiationException - Lanza esta excepción si ocurre un error al crear una nueva instancia del tipo de modelo proporcionado
      SQLException - Lanza esta excepción de suceder algún problema con el ResultSet
      InvocationTargetException - Lanza esta excepción si hubiera algún problema al invocar el metodo Set
      IllegalAccessException - Lanza esta excepción si hubiera algún problema al invocar el metodo Set
    • procesarResultSetJSON

      protected org.json.JSONObject procesarResultSetJSON(List<String> columnas, ResultSet registros) throws SQLException
      Obtiene un Json Object con las columnas solicitadas como propiedades del json con sus respectivos valores
      Parameters:
      columnas - Lista de los nombres de las columnas que se desea recuperar, si se desea recuperar todas las columnas envíar NULL
      registros - ResultSet del cual se obtendran los valores de las columnas
      Returns:
      Retorna un Json Object con las columnas solicitadas como propiedades del json con sus respectivos valores
      Throws:
      SQLException - Lanza esta excepción si sucede algún error al obtener el valor de cada una de las columnas solicitadas
    • crateTable

      public Boolean crateTable() throws Exception
      Crea la tabla correspondiente al modelo en BD's si esta no existe.
      Returns:
      True si la tabla correspondiente al modelo en BD's no existe y fue creada exitosamente, False si la tabla correspondiente al modelo ya existe en BD's
      Throws:
      Exception - Si sucede una excepción en la ejecución asincrona de la sentencia en BD's lanza esta excepción
    • dropTableIfExist

      public Boolean dropTableIfExist() throws Exception
      Elimina la tabla correspondiente al modelo en BD's
      Returns:
      True si la tabla correspondiente al modelo en BD's existe y fue eliminada, de no existir la tabla correspondiente en BD's retorna False.
      Throws:
      Exception - Si sucede una excepción en la ejecución asincrona de la sentencia en BD's lanza esta excepción
    • crateTableJSON

      protected Boolean crateTableJSON(List<Column> columnas) throws Exception
      Crea la tabla solicitada correspondiente al modelo con las columnas especificadas como parametro
      Parameters:
      columnas - Lista de columnas que se desea sean creadas por JBSqlUtils
      Returns:
      Retorna True si logra crear la tabla, False en caso que la tabla ya exista en BD's o que haya sucedido un error al momento de ejecutar la sentencia SQL
      Throws:
      Exception - Si sucede una excepción en la ejecución asincrona de la sentencia en BD's lanza esta excepción
    • llenarPropertiesFromModel

      public <T extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion, G extends io.github.josecarlosbran.JBSqlUtils.DataBase.Methods_Conexion> void llenarPropertiesFromModel(G proveedor)
      Llena las propiedades de conexión de un modelo desde otro
      Type Parameters:
      T - Modelo a llenar
      G - Tipo de dato del invocador
      Parameters:
      proveedor - Modelo desde el que se obtendran las propiedades de conexión
    • setPropertisURL

      public void setPropertisURL(String propertisURL)
      Setea las propiedades extra para la url de conexión a BD's
      Parameters:
      propertisURL - Propiedades extra para la url de conexión a BD's por ejemplo ?autoReconnect=true&useSSL=false
    • getPropertisURL

      public String getPropertisURL()
      Obtiene la propiedades extra de la url de conexión a la BD's
      Returns:
      Propiedades extra de la url de conexión a la BD's
    • getSystemProperties

      public void getSystemProperties() throws DataBaseUndefind, PropertiesDBUndefined
      método que se encarga de inicializar las propiedades de conexión del modelo, las cuales las obtiene de las propiedades del sistema Java.
      Throws:
      DataBaseUndefind - Lanza esta excepción si el tipo de BD's a la cual se conectara el modelo no ha sido definida entre las propiedades del sistema Java.
      PropertiesDBUndefined - Lanza esta excepción si las propiedades de conexión no han sido definidas.
    • getDataBaseType

      public DataBase getDataBaseType() throws DataBaseUndefind
      Obtiene el tipo de base de datos al cual se conectara el modelo
      Returns:
      Retorna el Tipo de Base de Datos a la cual se conectara el modelo, de no estar definida, lanzara una excepción
      Throws:
      DataBaseUndefind - Lanza esta excepción cuando no se a configurado la BD's a la cual se conectara el modelo el usuario de la librería es el encargado de setear el tipo de BD's a la cual se conectara el modelo, asi mismo de ser lanzada esta excepción, poder manejarla.
    • setDataBaseType

      public void setDataBaseType(DataBase dataBase)
      Setea el tipo de BD's a la cual se estara conectando el Modelo
      Parameters:
      dataBase - Tipo de BD's a la cual se estara conectando el Modelo, los tipos disponibles son MySQL, SQLServer, PostgreSQL, SQLite.
    • getHost

      public String getHost() throws DataBaseUndefind, PropertiesDBUndefined
      Obtiene el host en el cual se encuentra la BD's a la cual se desea conectar el modelo.
      Returns:
      Retorna el host en el cual se encuentra la BD's.
      Throws:
      DataBaseUndefind - Lanza esta excepción cuando no se a configurado la BD's a la cual se conectara el modelo el usuario de la librería es el encargado de setear el tipo de BD's a la cual se conectara el modelo, asi mismo de ser lanzada esta excepción, poder manejarla.
      PropertiesDBUndefined - Lanza esta excepción si no se a definido el Host en el cual se encuentra la BD's, si el tipo de BD's al cual se desea conectar es diferente a una BD's SQLite
    • setHost

      public void setHost(String host)
      Setea el host en el cual se encuentra la BD's a la cual se conectara el modelo.
      Parameters:
      host - Host en el cual se encuentra la BD's a la que nos queremos conectar.
    • getPort

      public String getPort() throws DataBaseUndefind, PropertiesDBUndefined
      Obtiene el puerto en el cual se encuentra escuchando la BD's a la cual se pega el modelo.
      Returns:
      Retorna el puerto en el cual se encuentra escuchando la BD's a la cual se pega el modelo.
      Throws:
      DataBaseUndefind - Lanza esta excepción cuando no se a configurado la BD's a la cual se conectara el modelo el usuario de la librería es el encargado de setear el tipo de BD's a la cual se conectara el modelo, asi mismo de ser lanzada esta excepción, poder manejarla.
      PropertiesDBUndefined - Lanza esta excepción si no se a definido el Puerto en el cual se encuentra escuchando la BD's, si el tipo de BD's al cual se desea conectar es diferente a una BD's SQLite
    • setPort

      public void setPort(String port)
      Setea el puerto en el cual se encuentra escuchando la BD's a la cual se pegara el modelo.
      Parameters:
      port - Puerto en el cual se encuentra escuchando la BD's a la cual se pegara el modelo.
    • getUser

      public String getUser() throws DataBaseUndefind, PropertiesDBUndefined
      Obtiene el usuario con el cual el modelo se conectara a la BD's.
      Returns:
      Retorna el usuario con el cual el modelo se conectara a la BD's.
      Throws:
      DataBaseUndefind - Lanza esta excepción cuando no se a configurado la BD's a la cual se conectara el modelo el usuario de la librería es el encargado de setear el tipo de BD's a la cual se conectara el modelo, asi mismo de ser lanzada esta excepción, poder manejarla.
      PropertiesDBUndefined - Lanza esta excepción si no se a definido el usuario con el cual se conectara a la BD's, si el tipo de BD's al cual se desea conectar es diferente a una BD's SQLite
    • setUser

      public void setUser(String user)
      Setea el Usuario con el cual el modelo se conectara a la BD's.
      Parameters:
      user - Usuario con el cual el modelo se conectara a la BD's.
    • getPassword

      public String getPassword() throws DataBaseUndefind, PropertiesDBUndefined
      Obtiene la contraseña del usuario con el cual el modelo se conectara a la BD's.
      Returns:
      Retorna la contraseña del usuario con el cual el modelo se conectara a la BD's.
      Throws:
      DataBaseUndefind - Lanza esta excepción cuando no se a configurado la BD's a la cual se conectara el modelo el usuario de la librería es el encargado de setear el tipo de BD's a la cual se conectara el modelo, asi mismo de ser lanzada esta excepción, poder manejarla.
      PropertiesDBUndefined - Lanza esta excepción si no se a definido la contraseña del usuario con el cual se conectara a la BD's, si el tipo de BD's al cual se desea conectar es diferente a una BD's SQLite
    • setPassword

      public void setPassword(String password)
      Setea la contraseña del usuario con el cual el modelo se conectara a la BD's.
      Parameters:
      password - Contraseña del usuario con el cual el modelo se conectara a la BD's.
    • getBD

      public String getBD() throws PropertiesDBUndefined
      Obtiene el nombre de la Base de Datos a la que se conectara el modelo.
      Returns:
      Retorna el nombre de la Base de Datos a la que se conectara el modelo.
      Throws:
      PropertiesDBUndefined - Lanza esta excepción si no se a configurado la Base de Datos a la que se conectara el modelo.
    • setBD

      public void setBD(String BD)
      Setea el nombre de la Base de Datos a la que se conectara el modelo.
      Parameters:
      BD - Nombre de la Base de Datos a la que se conectara el modelo.
    • getGetPropertySystem

      public Boolean getGetPropertySystem()
      Obtiene la bandera que indica si el modelo utilizara la configuración general o una configuración personalidada, sobre la conexión a la BD's del Modelo.
      Returns:
      Retorna TRUE si el modelo obtendra la configuración general del sistema, retorna FALSE si el modelo tendra una configuración personalizada, el valor por default es TRUE.
    • setGetPropertySystem

      public void setGetPropertySystem(Boolean getPropertySystem)
      Setea la bandera que indica si el modelo utilizara la configuración general o una configuración personalidada, sobre la conexión a la BD's del Modelo.
      Parameters:
      getPropertySystem - TRUE si el modelo obtendra la configuración general del sistema, retorna FALSE si el modelo tendra una configuración personalizada, el valor por default es TRUE.
    • getConnect

      protected Connection getConnect() throws ConexionUndefind
      Obtiene la conexión del Modelo a la Base de Datos.
      Returns:
      Retorna la conexión del Modelo a la Base de Datos.
      Throws:
      ConexionUndefind - lanza esta excepción si el modelo no posee una conexión abierta a BD's
    • setConnect

      protected void setConnect(Connection connect)
      Setea la conexión del Modelo a la Base de Datos.
      Parameters:
      connect - Conexión del Modelo a la Base de Datos.
    • getTableExist

      public Boolean getTableExist()
      Obtiene la bandera que indica si la tabla correspondiente al modelo en BD's
      Returns:
      True si la tabla correspondiente al modelo existe en BD's, de lo contrario retorna False.
    • setTableExist

      protected void setTableExist(Boolean tableExist)
      Setea la bandera que indica si la tabla correspondiente al modelo existe en BD's
      Parameters:
      tableExist - True si la tabla correspondiente al modelo existe en BD's, de lo contrario False.
    • getTableName

      public String getTableName()
      Obtiene el nombre de la tabla en BD's correspondiente al modelo.
      Returns:
      Retorna el nombre de la tabla en BD's correspondiente al modelo.
    • setTableName

      protected void setTableName(String tableName)
      Setea el nombre de la tabla en BD's correspondiente al modelo.
      Parameters:
      tableName - Nombre de la tabla en BD's correspondiente al modelo.
    • getTaskIsReady

      public Boolean getTaskIsReady()
      Obtiene la bandera que indica si la tarea que estaba realizando el modelo ha sido terminada
      Returns:
      True si el modelo actualmente no esta realizando una tarea. False si el modelo esta realizando una tarea actualmente.
    • waitOperationComplete

      public void waitOperationComplete()
      Si queremos utilizar el mismo modelo para realizar otra operación en BD's es necesario que esperemos a que el modelo no este realizando ninguna tarea, relacionada con lectura o escritura.

      Debido a que estas tareas JBSqlUtils las realiza en segundo plano, para no interrumpir el hilo de ejecución principal y entregar un mejor rendimiento, por si necesitamos realizar alguna otra instrucción mientras el modelo esta trabajando en segundo plano. para poder saber si el modelo actualmente esta ocupado, podemos hacerlo a través del método getTaskIsReady(), el cual obtiene la bandera que indica si la tarea que estaba realizando el modelo ha sido terminada De utilizar otro modelo, no es necesario esperar a que el primer modelo este libre.

    • setTaskIsReady

      protected void setTaskIsReady(Boolean taskIsReady)
      Setea el valor de la bandera que indica si el modelo actual esta realizando una tarea
      Parameters:
      taskIsReady - True si el modelo actualmente no esta realizando una tarea. False si el modelo esta realizando una tarea actualmente.
    • getPrimaryKey

      public String getPrimaryKey()
      Obtiene la clave primaria del modelo.
      Returns:
      Nombre de la clave primaria del modelo
    • setPrimaryKey

      public void setPrimaryKey(String primaryKey)
      Setea la clave primaria del modelo
      Parameters:
      primaryKey - Nombre de la columna que sirve como clave primaria del modelo
    • getPrimaryKeyIsIncremental

      public Boolean getPrimaryKeyIsIncremental()
      Obtiene la bandera que indica si la clave primaria del modelo es autoincrementable.
      Returns:
      Retorna True si la clave primaria es autoincrementable.
    • setPrimaryKeyIsIncremental

      public void setPrimaryKeyIsIncremental(Boolean primaryKeyIsIncremental)
      Setea la información sobre si la clave primaria es autoincrementable.
      Parameters:
      primaryKeyIsIncremental - True si la clave primaria es autoincrementable, False si no lo es.
    • getTimestamps

      protected Boolean getTimestamps()
      Obtiene la bandera que define si el modelo desea que JBSqlUtils maneje las timestamps Created_at, Update_at.
      Returns:
      True si JBSqlUtils manejara de forma predeterminada las timestamps del modelo, False si no se desea que JBSqlUtils registre esta información
    • setTimestamps

      public void setTimestamps(Boolean timestamps)
      Setea la bandera que define si el modelo desea que JBSqlUtils maneje las timestamps Created_at, Update_at.
      Parameters:
      timestamps - True si las timestamps serán manejadas por JBSqlUtils, False, si el modelo no tiene estas columnas.
    • getDateFormat

      public String getDateFormat()
      Obtiene el formato de fecha en el que se desea que JBSqlUtils almacene las TimeStamp
      Returns:
      Una representación String del Formato de fecha en el que se desea que JBSqlUtils almacene las TimeStamp
    • setDateFormat

      public void setDateFormat(String dateFormat)
      Setea el formato de fecha en el que se desea que JBSqlUtils almacene las TimeStamp
      Parameters:
      dateFormat - Formato de fecha en el que se desea se almacenen las TimeStamp
    • getCreatedAt

      public String getCreatedAt()
      Obtiene el nombre de la columna correspondiente a la TimeStamp CreateAT
      Returns:
      Nombre de la columna correspondiente a la TimeStamp CreateAT
    • setCreatedAt

      public void setCreatedAt(String createdAt)
      Setea el nombre de la columna correspondiente a la TimeStamp CreateAT
      Parameters:
      createdAt - Nombre de la columna correspondiente a la TimeStamp CreateAT
    • getUpdateAT

      public String getUpdateAT()
      Obtiene el nombre de la columna correspondiente a la TimeStamp UpdateAT
      Returns:
      Nombre de la columna correspondiente a la TimeStamp UpdateAT
    • setUpdateAT

      public void setUpdateAT(String updateAT)
      Setea el nombre de la columna correspondiente a la TimeStamp UpdateAT
      Parameters:
      updateAT - Nombre de la columna correspondiente a la TimeStamp UpdateAT
    • getModelExist

      public Boolean getModelExist()
      Obtiene la Bandera que sirve para identificar si el modelo existe en BD's, de existir cuando se llame al metodo save se procedera a actualizar el modelo
      Returns:
      TRUE indica que el modelo fue obtenido de BD's, False indica que el modelo no existe en BD's
    • setModelExist

      public void setModelExist(Boolean modelExist)
      Setea la Bandera que sirve para identificar si el modelo existe en BD's, de existir cuando se llame al metodo save se procedera a actualizar el modelo
      Parameters:
      modelExist - Bandera que sirve para identificar si el modelo existe en BD's, TRUE indica que el modelo fue obtenido de BD's False indica que el modelo no existe en BD's
    • getTabla

      protected TablesSQL getTabla()
      Representa la metadata de la tabla correspondiente al modelo en BD's Retorna la TablaSQL correspondiente al modelo
    • setTabla

      protected void setTabla(TablesSQL tabla)
      Setea la tabla que representa al modelo en BD's
      Parameters:
      tabla - Objeto TableSQL que contiene parte de la meta data de la tabla correspondiente al modelo
    • getMethodsGetOfModel

      protected List<Method> getMethodsGetOfModel()
      Obtiene la lista de los métodos get del modelo que lo invoca.
      Returns:
      Lista de los métodos get del modelo que lo invoca.
    • getMethodsSetOfModel

      protected List<Method> getMethodsSetOfModel()
      Obtiene la lista de los métodos set del modelo que lo invoca.
      Returns:
      Lista de los métodos set del modelo que lo invoca.
    • getContadorConexiones

      public Integer getContadorConexiones()
      Cantidad de conexiones que ha realizado el modelo a BD's
      Returns:
      Cantidad de conexiones que ha realizado el modelo a BD's
    • setContadorConexiones

      protected void setContadorConexiones(Integer contadorConexiones)
      Setea la cantidad de conexiones que a realizado el modelo
      Parameters:
      contadorConexiones - Cantidad de conexiones que a realizado el modelo