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

org.hibernate.tool.schema.spi.TargetDescriptor Maven / Gradle / Ivy

There is a newer version: 7.0.0.Alpha1
Show newest version
/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or .
 */
package org.hibernate.tool.schema.spi;

import java.util.EnumSet;

import org.hibernate.tool.schema.TargetType;

/**
 * Describes the target(s) of schema create, drop and migrate actions.
 * 

* The purpose of this "abstraction" of a target is to enable other * back-ends (OGM) by simply describing where to target rather than * defining the targets themselves. The reason being that ultimately * the Java type representing a "DDL command" sent to these targets * might be different (e.g., String for JDBC). * * @author Steve Ebersole */ public interface TargetDescriptor { /** * The target type described here. * * @return The target type. */ EnumSet getTargetTypes(); /** * If {@link #getTargetTypes()} includes scripts, return a representation * of the script file to write to. Otherwise, returns {@code null}. *

* While it is ultimately up to the actual tooling provider, it is generally an error * for {@link #getTargetTypes()} to indicate that scripts are a target and for this * method to return {@code null}. * * @return The script output target */ ScriptTargetOutput getScriptTargetOutput(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy