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

com.netflix.spinnaker.keel.persistence.metamodel.tables.Event Maven / Gradle / Ivy

There is a newer version: 1.4.1
Show newest version
/*
 * This file is generated by jOOQ.
 */
package com.netflix.spinnaker.keel.persistence.metamodel.tables;


import com.netflix.spinnaker.jooq.LocalDateTimeToInstantConverter;
import com.netflix.spinnaker.jooq.PersistentEventConverter;
import com.netflix.spinnaker.keel.events.PersistentEvent;
import com.netflix.spinnaker.keel.events.PersistentEvent.EventScope;
import com.netflix.spinnaker.keel.persistence.metamodel.Indexes;
import com.netflix.spinnaker.keel.persistence.metamodel.Keel;
import com.netflix.spinnaker.keel.persistence.metamodel.Keys;
import com.netflix.spinnaker.keel.persistence.metamodel.tables.records.EventRecord;

import java.time.Instant;
import java.util.Arrays;
import java.util.List;

import javax.annotation.processing.Generated;

import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row6;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.TableImpl;


/**
 * This class is generated by jOOQ.
 */
@Generated(
    value = {
        "https://www.jooq.org",
        "jOOQ version:3.13.6"
    },
    comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Event extends TableImpl {

    private static final long serialVersionUID = 355063274;

    /**
     * The reference instance of keel.event
     */
    public static final Event EVENT = new Event();

    /**
     * The class holding records for this type
     */
    @Override
    public Class getRecordType() {
        return EventRecord.class;
    }

    /**
     * The column keel.event.uid.
     */
    public final TableField UID = createField(DSL.name("uid"), org.jooq.impl.SQLDataType.CHAR(26).nullable(false), this, "");

    /**
     * The column keel.event.scope.
     */
    public final TableField SCOPE = createField(DSL.name("scope"), org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false).defaultValue(org.jooq.impl.DSL.inline("RESOURCE", org.jooq.impl.SQLDataType.VARCHAR)), this, "", new org.jooq.impl.EnumConverter(java.lang.String.class, com.netflix.spinnaker.keel.events.PersistentEvent.EventScope.class));

    /**
     * The column keel.event.ref.
     */
    public final TableField REF = createField(DSL.name("ref"), org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");

    /**
     * The column keel.event.application.
     */
    public final TableField APPLICATION = createField(DSL.name("application"), org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");

    /**
     * The column keel.event.timestamp.
     */
    public final TableField TIMESTAMP = createField(DSL.name("timestamp"), org.jooq.impl.SQLDataType.LOCALDATETIME, this, "", new LocalDateTimeToInstantConverter());

    /**
     * The column keel.event.json.
     */
    public final TableField JSON = createField(DSL.name("json"), org.jooq.impl.SQLDataType.JSON, this, "", new PersistentEventConverter());

    /**
     * Create a keel.event table reference
     */
    public Event() {
        this(DSL.name("event"), null);
    }

    /**
     * Create an aliased keel.event table reference
     */
    public Event(String alias) {
        this(DSL.name(alias), EVENT);
    }

    /**
     * Create an aliased keel.event table reference
     */
    public Event(Name alias) {
        this(alias, EVENT);
    }

    private Event(Name alias, Table aliased) {
        this(alias, aliased, null);
    }

    private Event(Name alias, Table aliased, Field[] parameters) {
        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
    }

    public  Event(Table child, ForeignKey key) {
        super(child, key, EVENT);
    }

    @Override
    public Schema getSchema() {
        return Keel.KEEL;
    }

    @Override
    public List getIndexes() {
        return Arrays.asList(Indexes.EVENT_EVENT_SCOPE_APPLICATION_TIMESTAMP_IDX, Indexes.EVENT_EVENT_SCOPE_REF_TIMESTAMP_IDX, Indexes.EVENT_EVENT_UID_TIMESTAMP_IDX);
    }

    @Override
    public UniqueKey getPrimaryKey() {
        return Keys.KEY_EVENT_PRIMARY;
    }

    @Override
    public List> getKeys() {
        return Arrays.>asList(Keys.KEY_EVENT_PRIMARY);
    }

    @Override
    public Event as(String alias) {
        return new Event(DSL.name(alias), this);
    }

    @Override
    public Event as(Name alias) {
        return new Event(alias, this);
    }

    /**
     * Rename this table
     */
    @Override
    public Event rename(String name) {
        return new Event(DSL.name(name), null);
    }

    /**
     * Rename this table
     */
    @Override
    public Event rename(Name name) {
        return new Event(name, null);
    }

    // -------------------------------------------------------------------------
    // Row6 type methods
    // -------------------------------------------------------------------------

    @Override
    public Row6 fieldsRow() {
        return (Row6) super.fieldsRow();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy