diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 212eb78e65..eb0c67101f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -114,6 +114,30 @@ import org.jooq.CommonTableExpression; import org.jooq.Condition; import org.jooq.Configuration; import org.jooq.ConnectionProvider; +import org.jooq.ConstraintFinalStep; +import org.jooq.ConstraintForeignKeyReferencesStep1; +import org.jooq.ConstraintForeignKeyReferencesStep10; +import org.jooq.ConstraintForeignKeyReferencesStep11; +import org.jooq.ConstraintForeignKeyReferencesStep12; +import org.jooq.ConstraintForeignKeyReferencesStep13; +import org.jooq.ConstraintForeignKeyReferencesStep14; +import org.jooq.ConstraintForeignKeyReferencesStep15; +import org.jooq.ConstraintForeignKeyReferencesStep16; +import org.jooq.ConstraintForeignKeyReferencesStep17; +import org.jooq.ConstraintForeignKeyReferencesStep18; +import org.jooq.ConstraintForeignKeyReferencesStep19; +import org.jooq.ConstraintForeignKeyReferencesStep2; +import org.jooq.ConstraintForeignKeyReferencesStep20; +import org.jooq.ConstraintForeignKeyReferencesStep21; +import org.jooq.ConstraintForeignKeyReferencesStep22; +import org.jooq.ConstraintForeignKeyReferencesStep3; +import org.jooq.ConstraintForeignKeyReferencesStep4; +import org.jooq.ConstraintForeignKeyReferencesStep5; +import org.jooq.ConstraintForeignKeyReferencesStep6; +import org.jooq.ConstraintForeignKeyReferencesStep7; +import org.jooq.ConstraintForeignKeyReferencesStep8; +import org.jooq.ConstraintForeignKeyReferencesStep9; +import org.jooq.ConstraintForeignKeyReferencesStepN; import org.jooq.ConstraintTypeStep; import org.jooq.CreateIndexStep; import org.jooq.CreateSchemaFinalStep; @@ -4804,6 +4828,462 @@ public class DSL { return constraint(name(name)); } + /** + * Create an unnamed (system named) PRIMARY KEY constraint. + */ + @Support + public static ConstraintFinalStep primaryKey(String... fields) { + return constraint().primaryKey(fields); + } + + /** + * Create an unnamed (system named) PRIMARY KEY constraint. + */ + @Support + public static ConstraintFinalStep primaryKey(Field... fields) { + return constraint().primaryKey(fields); + } + + /** + * Add a FOREIGN KEY clause to the CONSTRAINT. + */ + @Support + public static ConstraintForeignKeyReferencesStepN foreignKey(String... fields) { + return constraint().foreignKey(fields); + } + + /** + * Add a FOREIGN KEY clause to the CONSTRAINT. + */ + @Support + public static ConstraintForeignKeyReferencesStepN foreignKey(Field... fields) { + return constraint().foreignKey(fields); + } + + // [jooq-tools] START [foreignKey] + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep1 foreignKey(Field field1) { + return constraint().foreignKey(field1); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep2 foreignKey(Field field1, Field field2) { + return constraint().foreignKey(field1, field2); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep3 foreignKey(Field field1, Field field2, Field field3) { + return constraint().foreignKey(field1, field2, field3); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep4 foreignKey(Field field1, Field field2, Field field3, Field field4) { + return constraint().foreignKey(field1, field2, field3, field4); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep5 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5) { + return constraint().foreignKey(field1, field2, field3, field4, field5); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep6 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep7 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep8 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep9 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep10 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep11 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep12 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep13 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep14 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep15 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep16 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep17 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep18 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep19 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep20 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep21 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep22 foreignKey(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep1 foreignKey(String field1) { + return constraint().foreignKey(field1); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep2 foreignKey(String field1, String field2) { + return constraint().foreignKey(field1, field2); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep3 foreignKey(String field1, String field2, String field3) { + return constraint().foreignKey(field1, field2, field3); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep4 foreignKey(String field1, String field2, String field3, String field4) { + return constraint().foreignKey(field1, field2, field3, field4); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep5 foreignKey(String field1, String field2, String field3, String field4, String field5) { + return constraint().foreignKey(field1, field2, field3, field4, field5); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep6 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep7 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep8 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep9 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep10 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep11 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep12 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep13 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep14 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep15 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep16 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep17 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16, String field17) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep18 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16, String field17, String field18) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep19 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16, String field17, String field18, String field19) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep20 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16, String field17, String field18, String field19, String field20) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep21 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16, String field17, String field18, String field19, String field20, String field21) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21); + } + + /** + * Add an unnamed (system named) FOREIGN KEY clause to the CONSTRAINT. + */ + @Generated("This method was generated using jOOQ-tools") + @Support + public static ConstraintForeignKeyReferencesStep22 foreignKey(String field1, String field2, String field3, String field4, String field5, String field6, String field7, String field8, String field9, String field10, String field11, String field12, String field13, String field14, String field15, String field16, String field17, String field18, String field19, String field20, String field21, String field22) { + return constraint().foreignKey(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21, field22); + } + +// [jooq-tools] END [foreignKey] + + /** + * Create an unnamed (system named) UNIQUE constraint. + */ + @Support + public static ConstraintFinalStep unique(String... fields) { + return constraint().unique(fields); + } + + /** + * Create an unnamed (system named) UNIQUE constraint. + */ + @Support + public static ConstraintFinalStep unique(Field... fields) { + return constraint().unique(fields); + } + + /** + * Create an unnamed (system named) CHECK constraint. + */ + @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, POSTGRES, SQLITE }) + public static ConstraintFinalStep check(Condition condition) { + return constraint().check(condition); + } + // ------------------------------------------------------------------------- // XXX DDL Statements // -------------------------------------------------------------------------