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

wtf.metio.yosql.codegen.blocks.Annotations Maven / Gradle / Ivy

/*
 * This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
 * directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
 * including this file, may be copied, modified, propagated, or distributed except according to the terms contained
 * in the LICENSE file.
 */

package wtf.metio.yosql.codegen.blocks;

import com.squareup.javapoet.AnnotationSpec;
import wtf.metio.yosql.models.immutables.SqlConfiguration;

/**
 * Generates annotations for classes, fields, and methods.
 */
public interface Annotations {

    /**
     * @return Generated annotations for a single class.
     */
    Iterable generatedClass();

    /**
     * @return Generated annotations for a single field.
     */
    Iterable generatedField();

    /**
     * @return Generated annotations for a single method.
     */
    Iterable generatedMethod();

    /**
     * @return User specified annotations for generated repositories and their interfaces.
     */
    Iterable generatedRepository();

    /**
     * @return User specified annotations for generated methods.
     */
    Iterable generatedMethod(SqlConfiguration configuration);

    /**
     * @return User specified annotations for generated constructors.
     */
    Iterable generatedConstructor();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy