/*
 * This file is generated by jOOQ.
 */
package ervu_secret.ervu_secret.db_beans.pg_catalog.routines;


import ervu_secret.ervu_secret.db_beans.pg_catalog.PgCatalog;

import java.sql.Timestamp;

import org.jooq.Parameter;
import org.jooq.impl.AbstractRoutine;
import org.jooq.impl.Internal;
import org.jooq.impl.SQLDataType;


/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PgControlSystem extends AbstractRoutine<java.lang.Void> {

    private static final long serialVersionUID = 1L;

    /**
     * The parameter
     * <code>pg_catalog.pg_control_system.pg_control_version</code>.
     */
    public static final Parameter<Integer> PG_CONTROL_VERSION = Internal.createParameter("pg_control_version", SQLDataType.INTEGER, false, false);

    /**
     * The parameter
     * <code>pg_catalog.pg_control_system.catalog_version_no</code>.
     */
    public static final Parameter<Integer> CATALOG_VERSION_NO = Internal.createParameter("catalog_version_no", SQLDataType.INTEGER, false, false);

    /**
     * The parameter
     * <code>pg_catalog.pg_control_system.system_identifier</code>.
     */
    public static final Parameter<Long> SYSTEM_IDENTIFIER = Internal.createParameter("system_identifier", SQLDataType.BIGINT, false, false);

    /**
     * The parameter
     * <code>pg_catalog.pg_control_system.pg_control_last_modified</code>.
     */
    public static final Parameter<Timestamp> PG_CONTROL_LAST_MODIFIED = Internal.createParameter("pg_control_last_modified", SQLDataType.TIMESTAMP(0), false, false);

    /**
     * The parameter
     * <code>pg_catalog.pg_control_system.pg_control_edition</code>.
     */
    public static final Parameter<String> PG_CONTROL_EDITION = Internal.createParameter("pg_control_edition", SQLDataType.CLOB, false, false);

    /**
     * Create a new routine call instance
     */
    public PgControlSystem() {
        super("pg_control_system", PgCatalog.PG_CATALOG);

        addOutParameter(PG_CONTROL_VERSION);
        addOutParameter(CATALOG_VERSION_NO);
        addOutParameter(SYSTEM_IDENTIFIER);
        addOutParameter(PG_CONTROL_LAST_MODIFIED);
        addOutParameter(PG_CONTROL_EDITION);
    }

    /**
     * Get the <code>pg_control_version</code> parameter OUT value from the
     * routine
     */
    public Integer getPgControlVersion() {
        return get(PG_CONTROL_VERSION);
    }

    /**
     * Get the <code>catalog_version_no</code> parameter OUT value from the
     * routine
     */
    public Integer getCatalogVersionNo() {
        return get(CATALOG_VERSION_NO);
    }

    /**
     * Get the <code>system_identifier</code> parameter OUT value from the
     * routine
     */
    public Long getSystemIdentifier() {
        return get(SYSTEM_IDENTIFIER);
    }

    /**
     * Get the <code>pg_control_last_modified</code> parameter OUT value from
     * the routine
     */
    public Timestamp getPgControlLastModified() {
        return get(PG_CONTROL_LAST_MODIFIED);
    }

    /**
     * Get the <code>pg_control_edition</code> parameter OUT value from the
     * routine
     */
    public String getPgControlEdition() {
        return get(PG_CONTROL_EDITION);
    }
}
