001/* 002 * This file is generated by jOOQ. 003 */ 004package com.echothree.model.jooq.server.tables.index; 005 006 007import com.echothree.model.data.index.common.pk.IndexDetailPK; 008import com.echothree.model.data.index.common.pk.IndexPK; 009import com.echothree.model.data.index.common.pk.IndexTypePK; 010import com.echothree.model.data.party.common.pk.LanguagePK; 011import com.echothree.model.jooq.server.KeyRegistry; 012import com.echothree.model.jooq.server.tables.index.IndexTypes.IndexTypesPath; 013import com.echothree.model.jooq.server.tables.index.Indexes.IndexesPath; 014import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath; 015 016import java.util.Arrays; 017import java.util.Collection; 018import java.util.List; 019 020import org.jooq.Condition; 021import org.jooq.Converter; 022import org.jooq.Field; 023import org.jooq.ForeignKey; 024import org.jooq.InverseForeignKey; 025import org.jooq.Name; 026import org.jooq.Path; 027import org.jooq.PlainSQL; 028import org.jooq.QueryPart; 029import org.jooq.Record; 030import org.jooq.SQL; 031import org.jooq.Stringly; 032import org.jooq.Table; 033import org.jooq.TableField; 034import org.jooq.TableLike; 035import org.jooq.TableOptions; 036import org.jooq.UniqueKey; 037import org.jooq.impl.DSL; 038import org.jooq.impl.Internal; 039import org.jooq.impl.SQLDataType; 040import org.jooq.impl.TableImpl; 041 042 043/** 044 * This class is generated by jOOQ. 045 */ 046@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" }) 047public class IndexDetails extends TableImpl<com.echothree.model.jooq.server.records.index.IndexDetails> { 048 049 private static final long serialVersionUID = 1L; 050 051 /** 052 * The reference instance of <code>indexdetails</code> 053 */ 054 public static final IndexDetails IndexDetails = new IndexDetails(); 055 056 /** 057 * The class holding records for this type 058 */ 059 @Override 060 public Class<com.echothree.model.jooq.server.records.index.IndexDetails> getRecordType() { 061 return com.echothree.model.jooq.server.records.index.IndexDetails.class; 062 } 063 064 /** 065 * The column <code>indexdetails.idxdt_indexdetailid</code>. 066 */ 067 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, IndexDetailPK> INDEX_DETAIL = createField(DSL.name("idxdt_indexdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, IndexDetailPK.class, id -> new com.echothree.model.data.index.common.pk.IndexDetailPK(id), primaryKey -> primaryKey.getEntityId())); 068 069 /** 070 * The column <code>indexdetails.idxdt_idx_indexid</code>. 071 */ 072 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, IndexPK> INDEX = createField(DSL.name("idxdt_idx_indexid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, IndexPK.class, id -> new com.echothree.model.data.index.common.pk.IndexPK(id), primaryKey -> primaryKey.getEntityId())); 073 074 /** 075 * The column <code>indexdetails.idxdt_indexname</code>. 076 */ 077 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, String> INDEX_NAME = createField(DSL.name("idxdt_indexname"), SQLDataType.VARCHAR(40).nullable(false), this, ""); 078 079 /** 080 * The column <code>indexdetails.idxdt_idxt_indextypeid</code>. 081 */ 082 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, IndexTypePK> INDEX_TYPE = createField(DSL.name("idxdt_idxt_indextypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, IndexTypePK.class, id -> new com.echothree.model.data.index.common.pk.IndexTypePK(id), primaryKey -> primaryKey.getEntityId())); 083 084 /** 085 * The column <code>indexdetails.idxdt_lang_languageid</code>. 086 */ 087 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, LanguagePK> LANGUAGE = createField(DSL.name("idxdt_lang_languageid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, LanguagePK.class, id -> new com.echothree.model.data.party.common.pk.LanguagePK(id), primaryKey -> primaryKey.getEntityId())); 088 089 /** 090 * The column <code>indexdetails.idxdt_directory</code>. 091 */ 092 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, String> DIRECTORY = createField(DSL.name("idxdt_directory"), SQLDataType.VARCHAR(80).nullable(false), this, ""); 093 094 /** 095 * The column <code>indexdetails.idxdt_isdefault</code>. 096 */ 097 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Boolean> IS_DEFAULT = createField(DSL.name("idxdt_isdefault"), SQLDataType.BIT.nullable(false), this, ""); 098 099 /** 100 * The column <code>indexdetails.idxdt_sortorder</code>. 101 */ 102 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Integer> SORT_ORDER = createField(DSL.name("idxdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, ""); 103 104 /** 105 * The column <code>indexdetails.idxdt_fromtime</code>. 106 */ 107 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Long> FROM_TIME = createField(DSL.name("idxdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, ""); 108 109 /** 110 * The column <code>indexdetails.idxdt_thrutime</code>. 111 */ 112 public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Long> THRU_TIME = createField(DSL.name("idxdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, ""); 113 114 private IndexDetails(Name alias, Table<com.echothree.model.jooq.server.records.index.IndexDetails> aliased) { 115 this(alias, aliased, (Field<?>[]) null, null); 116 } 117 118 private IndexDetails(Name alias, Table<com.echothree.model.jooq.server.records.index.IndexDetails> aliased, Field<?>[] parameters, Condition where) { 119 super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where); 120 } 121 122 /** 123 * Create an aliased <code>indexdetails</code> table reference 124 */ 125 public IndexDetails(String alias) { 126 this(DSL.name(alias), IndexDetails); 127 } 128 129 /** 130 * Create an aliased <code>indexdetails</code> table reference 131 */ 132 public IndexDetails(Name alias) { 133 this(alias, IndexDetails); 134 } 135 136 /** 137 * Create a <code>indexdetails</code> table reference 138 */ 139 public IndexDetails() { 140 this(DSL.name("indexdetails"), null); 141 } 142 143 public <O extends Record> IndexDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> parentPath) { 144 super(path, childPath, parentPath, IndexDetails); 145 } 146 147 /** 148 * A subtype implementing {@link Path} for simplified path-based joins. 149 */ 150 public static class IndexDetailsPath extends IndexDetails implements Path<com.echothree.model.jooq.server.records.index.IndexDetails> { 151 152 private static final long serialVersionUID = 1L; 153 public <O extends Record> IndexDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> parentPath) { 154 super(path, childPath, parentPath); 155 } 156 private IndexDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.index.IndexDetails> aliased) { 157 super(alias, aliased); 158 } 159 160 @Override 161 public IndexDetailsPath as(String alias) { 162 return new IndexDetailsPath(DSL.name(alias), this); 163 } 164 165 @Override 166 public IndexDetailsPath as(Name alias) { 167 return new IndexDetailsPath(alias, this); 168 } 169 170 @Override 171 public IndexDetailsPath as(Table<?> alias) { 172 return new IndexDetailsPath(alias.getQualifiedName(), this); 173 } 174 } 175 176 @Override 177 public UniqueKey<com.echothree.model.jooq.server.records.index.IndexDetails> getPrimaryKey() { 178 return KeyRegistry.INDEX_DETAILS_PK; 179 } 180 181 @Override 182 public List<UniqueKey<com.echothree.model.jooq.server.records.index.IndexDetails>> getUniqueKeys() { 183 return Arrays.asList(KeyRegistry.INDEX_DETAILS_INDEX_AND_THRU_TIME_UK, KeyRegistry.INDEX_DETAILS_INDEX_NAME_AND_THRU_TIME_UK, KeyRegistry.INDEX_DETAILS_DIRECTORY_AND_THRU_TIME_UK, KeyRegistry.INDEX_DETAILS_INDEX_TYPE_AND_LANGUAGE_AND_THRU_TIME_UK); 184 } 185 186 @Override 187 public List<ForeignKey<com.echothree.model.jooq.server.records.index.IndexDetails, ?>> getReferences() { 188 return Arrays.asList(KeyRegistry.INDEX_DETAILS_INDEX_FK, KeyRegistry.INDEX_DETAILS_INDEX_TYPE_FK, KeyRegistry.INDEX_DETAILS_LANGUAGE_FK); 189 } 190 191 private transient IndexesPath _idxdt_idx_indexid_fk; 192 193 /** 194 * Get the implicit join path to the <code>indexes</code> table. 195 */ 196 public IndexesPath idxdt_idx_indexid_fk() { 197 if (_idxdt_idx_indexid_fk == null) 198 _idxdt_idx_indexid_fk = new IndexesPath(this, KeyRegistry.INDEX_DETAILS_INDEX_FK, null); 199 200 return _idxdt_idx_indexid_fk; 201 } 202 203 private transient IndexTypesPath _idxdt_idxt_indextypeid_fk; 204 205 /** 206 * Get the implicit join path to the <code>indextypes</code> table. 207 */ 208 public IndexTypesPath idxdt_idxt_indextypeid_fk() { 209 if (_idxdt_idxt_indextypeid_fk == null) 210 _idxdt_idxt_indextypeid_fk = new IndexTypesPath(this, KeyRegistry.INDEX_DETAILS_INDEX_TYPE_FK, null); 211 212 return _idxdt_idxt_indextypeid_fk; 213 } 214 215 private transient LanguagesPath _idxdt_lang_languageid_fk; 216 217 /** 218 * Get the implicit join path to the <code>languages</code> table. 219 */ 220 public LanguagesPath idxdt_lang_languageid_fk() { 221 if (_idxdt_lang_languageid_fk == null) 222 _idxdt_lang_languageid_fk = new LanguagesPath(this, KeyRegistry.INDEX_DETAILS_LANGUAGE_FK, null); 223 224 return _idxdt_lang_languageid_fk; 225 } 226 227 @Override 228 public IndexDetails as(String alias) { 229 return new IndexDetails(DSL.name(alias), this); 230 } 231 232 @Override 233 public IndexDetails as(Name alias) { 234 return new IndexDetails(alias, this); 235 } 236 237 @Override 238 public IndexDetails as(Table<?> alias) { 239 return new IndexDetails(alias.getQualifiedName(), this); 240 } 241 242 /** 243 * Rename this table 244 */ 245 @Override 246 public IndexDetails rename(String name) { 247 return new IndexDetails(DSL.name(name), null); 248 } 249 250 /** 251 * Rename this table 252 */ 253 @Override 254 public IndexDetails rename(Name name) { 255 return new IndexDetails(name, null); 256 } 257 258 /** 259 * Rename this table 260 */ 261 @Override 262 public IndexDetails rename(Table<?> name) { 263 return new IndexDetails(name.getQualifiedName(), null); 264 } 265 266 /** 267 * Create an inline derived table from this table 268 */ 269 @Override 270 public IndexDetails where(Condition condition) { 271 return new IndexDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition)); 272 } 273 274 /** 275 * Create an inline derived table from this table 276 */ 277 @Override 278 public IndexDetails where(Collection<? extends Condition> conditions) { 279 return where(DSL.and(conditions)); 280 } 281 282 /** 283 * Create an inline derived table from this table 284 */ 285 @Override 286 public IndexDetails where(Condition... conditions) { 287 return where(DSL.and(conditions)); 288 } 289 290 /** 291 * Create an inline derived table from this table 292 */ 293 @Override 294 public IndexDetails where(Field<Boolean> condition) { 295 return where(DSL.condition(condition)); 296 } 297 298 /** 299 * Create an inline derived table from this table 300 */ 301 @Override 302 @PlainSQL 303 public IndexDetails where(SQL condition) { 304 return where(DSL.condition(condition)); 305 } 306 307 /** 308 * Create an inline derived table from this table 309 */ 310 @Override 311 @PlainSQL 312 public IndexDetails where(@Stringly.SQL String condition) { 313 return where(DSL.condition(condition)); 314 } 315 316 /** 317 * Create an inline derived table from this table 318 */ 319 @Override 320 @PlainSQL 321 public IndexDetails where(@Stringly.SQL String condition, Object... binds) { 322 return where(DSL.condition(condition, binds)); 323 } 324 325 /** 326 * Create an inline derived table from this table 327 */ 328 @Override 329 @PlainSQL 330 public IndexDetails where(@Stringly.SQL String condition, QueryPart... parts) { 331 return where(DSL.condition(condition, parts)); 332 } 333 334 /** 335 * Create an inline derived table from this table 336 */ 337 @Override 338 public IndexDetails whereExists(TableLike<?> select) { 339 return where(DSL.exists(select)); 340 } 341 342 /** 343 * Create an inline derived table from this table 344 */ 345 @Override 346 public IndexDetails whereNotExists(TableLike<?> select) { 347 return where(DSL.notExists(select)); 348 } 349}