All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.josecarlosbran.JBSqlUtils.Enumerations.Constraint Maven / Gradle / Ivy

Go to download

JBSqlUtils es un ORM desarrollado en java por José Carlos Alfredo Bran Aguirre, que permite gestionar BD's SQLite, MySQL, MariaDB, PostgreSQL y SQLServer, de una manera fácil y rápida sin interrumpir la ejecución del hilo principal del programa, lo cual la hace un potente ORM, por medio del cual tendrá acceso a un CRUD, configurando únicamente la conexión del modelo, los atributos que posee la tabla en BD's cómo variables que pertenecerán al modelo en su aplicación. JBSqlUtils también proporciona un potente generador de instrucciones SQL que le permitirá crear o eliminar una tabla, insertar, seleccionar, actualizar o eliminar registros de una tabla en su BD's sin necesidad de instanciar un modelo cómo tal, únicamente tendrá que configurar previamente la conexión a su BD's. Lo cual la hace un potente ORM para aplicaciones android y sistemas empresariales que tengan la necesidad de poder conectarse a alguna de estas 4 tipos de BD's, cabe mencionar que para ello utiliza el SQLite JDBC de org.xerial, org.postgresql, mysql y com.microsoft.sqlserver. Para mayor información, consultar el enlace del proyecto

There is a newer version: 1.3.1.2
Show newest version
/***
 * Copyright (C) 2022 El proyecto de código abierto JBSqlUtils de José Bran
 *
 * Con licencia de Apache License, Versión 2.0 (la "Licencia");
 * no puede usar este archivo excepto de conformidad con la Licencia.
 * Puede obtener una copia de la Licencia en
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * A menos que lo exija la ley aplicable o se acuerde por escrito, el software
 * distribuido bajo la Licencia se distribuye "TAL CUAL",
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas.
 * Consulte la Licencia para conocer el idioma específico que rige los permisos y
 * limitaciones bajo la Licencia.
 */
package io.github.josecarlosbran.JBSqlUtils.Enumerations;

import com.josebran.LogsJB.LogsJB;

/**
 * Enumeración que permite indicar las restricciones que puede tener una columna al momento de su creación.
 *
 * @author Jose Bran
 */
public enum Constraint {
    /**
     * Indica que la columna no acepta valores Nullos.
     */
    NOT_NULL("NOT NULL"),
    /**
     * El valor de esta columna tiene que ser unico
     */
    UNIQUE("UNIQUE"),
    /**
     * Restriccion que permite indicarle que tipo de valores si serán aceptados por la columna
     * Lo puede realizar a travez del metodo setRestriccion(String restriccion); de esta numeración.
     * considerar que la misma restricción se aplicara para el resto de columnas que tengan un valor Check.

     CHECK("CHECK"),*/
    /**
     * Indica que la columna funciona como clave primaria del modelo.
     */
    PRIMARY_KEY("PRIMARY KEY"),
    /**
     * Indica que la columna funciona como clave foranea del modelo.

     FOREIGN_KEY("FOREIGN KEY"),*/
    /**
     * Indica que el campo tendra como valor por default el TimeStamp del momento en que se almacene el modelo.
     */
    CURRENT_TIMESTAMP("CURRENT_TIMESTAMP"),
    /**
     * Indica que la columna tendra un valor por default
     */
    DEFAULT("DEFAULT"),
    /**
     * Indica que la columna autoincrementara su valor cada vez que se almacene un registro en la tabla correspondiente al modelo.
     */
    AUTO_INCREMENT("AUTO_INCREMENT");
    private String restriccion;

    Constraint(String Restriccion) {
        this.setRestriccion(Restriccion);
    }

    /**
     * Obtiene la restricción correspondiente a la numeración.
     *
     * @return Retorna la numeración correspondiente como un String.
     */
    public String getRestriccion() {
        return restriccion;
    }

    private void setRestriccion(String restriccion) {
        this.restriccion = restriccion;
    }

    /**
     * Retorna la numeración correspondiente al nombre proporcionado
     *
     * @param name Nombre de la Numeración que se desea obtener
     * @return Numeración correspondiente al nombre proporcionado
     */
    public Constraint getNumeracionforName(String name) {
        Class esta = Constraint.class;
        Constraint[] temp = esta.getEnumConstants();
        Constraint[] numeraciones = temp;
        for (Constraint numeracion : numeraciones) {
            if (numeracion.name().equalsIgnoreCase(name)) {
                LogsJB.trace("Nombre: " + numeracion.name() + " Posicion Ordinal: " + numeracion.ordinal()
                        + " Constraint: " + numeracion.getRestriccion());
                return numeracion;
            }
        }
        return null;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy