<commit_before>/*
Copyright 2018 <NAME>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package org.javalite.activejdbc

import org.javalite.activejdbc.ModelDelegate.metaModelOf
import org.javalite.activejdbc.annotations.Cached
import org.javalite.activejdbc.conversion.Converter
import org.javalite.activejdbc.validation.NumericValidationBuilder
import org.javalite.activejdbc.validation.ValidationBuilder
import org.javalite.activejdbc.validation.Validator
import java.text.DateFormat
import kotlin.reflect.KClass

/**
 * How to use this class ?
 *
 * Consider this table:
 * <pre>
 *    <code>
 *      CREATE TABLE people (
 *          id  int(11) NOT NULL auto_increment PRIMARY KEY,
 *          first_name VARCHAR(56) NOT NULL,
 *          last_name VARCHAR(56),
 *          created_at DATETIME,
 *          updated_at DATETIME
 *      );
 *    </code>
 * </pre>
 *
 * The related Java code is:
 * <pre>
 *    <code>
 *      public class Person extends Model {}
 *    </code>
 * </pre>
 *
 * The equivalent in Kotlin is:
 * <pre>
 *    <code>
 *        open class Person():Model() {
 *            companion object:CompanionModel<Person>(Person::class.java)
 *        }
 *    </code>
 * </pre>
 *
 * Because Kotlin does not allow static method inheritance, we have to define a companion object as CompanionModel. This
 * second model requires the class of type of the entity to manage. This code is a little bit more verbose than the Java
 * one but allow a full Kotlin project with JavaLite instead of a mixed language project.
 */
open class CompanionModel<T:Model>(entityClass:Class<T>) {
<commit_msg>#850: fixed broken class-doc-comment of CompanionModel.kt<commit_after>/*
Copyright 2018 <NAME>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package org.javalite.activejdbc

import org.javalite.activejdbc.ModelDelegate.metaModelOf
import org.javalite.activejdbc.annotations.Cached
import org.javalite.activejdbc.conversion.Converter
import org.javalite.activejdbc.validation.NumericValidationBuilder
import org.javalite.activejdbc.validation.ValidationBuilder
import org.javalite.activejdbc.validation.Validator
import java.text.DateFormat
import kotlin.reflect.KClass

/**
 * How to use this class ?
 *
 * Consider this table:
 *
 *    CREATE TABLE people (
 *          id  int(11) NOT NULL auto_increment PRIMARY KEY,
 *          first_name VARCHAR(56) NOT NULL,
 *          last_name VARCHAR(56),
 *          created_at DATETIME,
 *          updated_at DATETIME
 *    );
 *
 * The related Java code is:
 *
 *    public class Person extends Model {}
 *
 * The equivalent in Kotlin is:
 *
 *    open class Person():Model() {
 *        companion object:CompanionModel<Person>(Person::class.java)
 *    }
 *
 * Because Kotlin does not allow static method inheritance, we have to define a companion object as CompanionModel. This
 * second model requires the class of type of the entity to manage. This code is a little bit more verbose than the Java
 * one but allow a full Kotlin project with JavaLite instead of a mixed language project.
 */
open class CompanionModel<T:Model>(entityClass:Class<T>) {

{'fraction_non_alphanumeric': 0.07970479704797048, 'fraction_numerical': 0.0076260762607626075, 'mean_word_length': 3.7114716106604866, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5325793', 'n_tokens_mistral': 1164, 'n_tokens_neox': 1105, 'n_words': 431}