further work on the API documentation

This commit is contained in:
Gavin 2022-12-29 01:52:12 +01:00 committed by Gavin King
parent 37042f9b77
commit 95cede87ed
100 changed files with 668 additions and 151 deletions

View File

@ -6,6 +6,9 @@
*/ */
/** /**
* Internals for action processing. * The various concrete action implementations.
* <p>
* These actions are scheduled for execution by the concrete event
* listeners defined in {@link org.hibernate.event.internal}.
*/ */
package org.hibernate.action.internal; package org.hibernate.action.internal;

View File

@ -12,8 +12,9 @@
import org.hibernate.event.spi.EventSource; import org.hibernate.event.spi.EventSource;
/** /**
* An operation which may be scheduled for later execution. Usually, the operation is a database * An operation which may be scheduled for later execution. Usually, the
* insert/update/delete, together with required second-level cache management. * operation is a database insert/update/delete, together with required
* second-level cache management.
* *
* @author Gavin King * @author Gavin King
* @author Steve Ebersole * @author Steve Ebersole

View File

@ -6,8 +6,17 @@
*/ */
/** /**
* Defines SPI hooks into the {@link org.hibernate.engine.spi.ActionQueue}, mainly for * This SPI package defines an abstraction over the notion of an "action"
* registering custom {@link org.hibernate.action.spi.AfterTransactionCompletionProcess} * which is scheduled for asynchronous execution by the event listeners.
* and {@link org.hibernate.action.spi.BeforeTransactionCompletionProcess} hooks. * Every action implements {@link org.hibernate.action.spi.Executable}.
* <p>
* The {@link org.hibernate.engine.spi.ActionQueue} is responsible for
* scheduling and execution of the actions.
* <p>
* This package also defines the SPI callback interfaces for the
* {@link org.hibernate.engine.spi.ActionQueue}, allowing registration of
* custom {@link org.hibernate.action.spi.AfterTransactionCompletionProcess}
* and {@link org.hibernate.action.spi.BeforeTransactionCompletionProcess}
* processors.
*/ */
package org.hibernate.action.spi; package org.hibernate.action.spi;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Built-in implementations of {@link org.hibernate.binder.AttributeBinder}.
*/
package org.hibernate.binder.internal;

View File

@ -6,6 +6,6 @@
*/ */
/** /**
* The internals of archive scanning support * The internals of archive scanning support.
*/ */
package org.hibernate.boot.archive.internal; package org.hibernate.boot.archive.internal;

View File

@ -0,0 +1,13 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html.
*/
/**
* Implementation of the service for processing and handling {@code cfg.xml} files.
*
* @author Steve Ebersole
*/
package org.hibernate.boot.cfgxml.internal;

View File

@ -30,8 +30,8 @@
/** /**
* Models the information gleaned from parsing a {@code cfg.xml} file. * Models the information gleaned from parsing a {@code cfg.xml} file.
* <p> * <p>
* A LoadedConfig is built via {@link #consume}. An aggregated representation * A {@link LoadedConfig} is built via {@link #consume}. An aggregated
* can be maintained through calls to {@link #merge} * representation can be maintained through calls to {@link #merge}.
*/ */
public class LoadedConfig { public class LoadedConfig {
private static final Logger log = Logger.getLogger( LoadedConfig.class ); private static final Logger log = Logger.getLogger( LoadedConfig.class );

View File

@ -14,7 +14,7 @@
import org.hibernate.internal.util.config.ConfigurationException; import org.hibernate.internal.util.config.ConfigurationException;
/** /**
* Represents a {@code <mapping/>} element within a cfg.xml file. * Represents a {@code <mapping/>} element within a {@code cfg.xml} file.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -0,0 +1,15 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html.
*/
/**
* An SPI service for processing and handling {@code cfg.xml} files.
*
* @see org.hibernate.boot.cfgxml.spi.LoadedConfig
*
* @author Steve Ebersole
*/
package org.hibernate.boot.cfgxml.spi;

View File

@ -6,33 +6,11 @@
*/ */
package org.hibernate.boot.registry.selector.spi; package org.hibernate.boot.registry.selector.spi;
import java.util.Collection;
import java.util.concurrent.Callable;
import org.hibernate.boot.registry.selector.internal.LazyServiceResolver; import org.hibernate.boot.registry.selector.internal.LazyServiceResolver;
import org.hibernate.dialect.Dialect; import org.hibernate.dialect.Dialect;
import org.hibernate.service.Service; import org.hibernate.service.Service;
/** /**
* Service which acts as a registry for named strategy implementations.
* <p>
* Strategies are more open ended than services, though a strategy managed here might very well also be a service. The
* strategy is any interface that has multiple, (possibly short) named implementations.
* <p>
* StrategySelector manages resolution of particular implementation by (possibly short) name via the
* {@link StrategySelector#selectStrategyImplementor} method, which is the main contract here. As indicated in the docs of that
* method the given name might be either a short registered name or the implementation FQN. As an example, consider
* resolving the {@link org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder} implementation to use. To use the
* JDBC-based TransactionCoordinatorBuilder the passed name might be either {@code "jdbc"} or
* {@code "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl"} (which is the FQN).
* <p>
* Strategy implementations can be managed by {@link StrategySelector#registerStrategyImplementor} and
* {@link StrategySelector#unRegisterStrategyImplementor}. Originally designed to help the OSGi use case, though no longer used there.
* <p>
* The service also exposes a general typing API via {@link StrategySelector#resolveStrategy} and {@link StrategySelector#resolveDefaultableStrategy}
* which accept implementation references rather than implementation names, allowing for a multitude of interpretations
* of said "implementation reference". See the docs for {@link StrategySelector#resolveDefaultableStrategy} for details.
*
* @author Christian Beikov * @author Christian Beikov
*/ */
public interface DialectSelector extends Service, LazyServiceResolver<Dialect> { public interface DialectSelector extends Service, LazyServiceResolver<Dialect> {

View File

@ -14,18 +14,18 @@
/** /**
* Service which acts as a registry for named strategy implementations. * Service which acts as a registry for named strategy implementations.
* <p> * <p>
* Strategies are more open ended than services, though a strategy managed here might very well also be a service. The * Strategies are more open-ended than services, though a strategy managed here might very well also be a service.
* strategy is any interface that has multiple, (possibly short) named implementations. * The strategy is any interface that has multiple, (possibly short) named implementations.
* <p> * <p>
* StrategySelector manages resolution of particular implementation by (possibly short) name via the * {@code StrategySelector} manages resolution of particular implementation by (possibly short) name via the
* {@link #selectStrategyImplementor} method, which is the main contract here. As indicated in the docs of that * {@link #selectStrategyImplementor} method, which is the main contract here. As indicated in the docs of that
* method the given name might be either a short registered name or the implementation FQN. As an example, consider * method the given name might be either a short registered name or the implementation FQN. As an example, consider
* resolving the {@link org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder} implementation to use. To use the * resolving the {@link org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder} implementation to use.
* JDBC-based TransactionCoordinatorBuilder the passed name might be either {@code "jdbc"} or * To use the JDBC-based {@code TransactionCoordinatorBuilder} the passed name might be either {@code "jdbc"} or
* {@code "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl"} (which is the FQN). * {@code "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl"}.
* <p> * <p>
* Strategy implementations can be managed by {@link #registerStrategyImplementor} and * Strategy implementations can be managed by {@link #registerStrategyImplementor} and {@link #unRegisterStrategyImplementor}.
* {@link #unRegisterStrategyImplementor}. Originally designed to help the OSGi use case, though no longer used there. * Originally designed to help the OSGi use case, though no longer used there.
* <p> * <p>
* The service also exposes a general typing API via {@link #resolveStrategy} and {@link #resolveDefaultableStrategy} * The service also exposes a general typing API via {@link #resolveStrategy} and {@link #resolveDefaultableStrategy}
* which accept implementation references rather than implementation names, allowing for a multitude of interpretations * which accept implementation references rather than implementation names, allowing for a multitude of interpretations

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implementation of the second-level cache configuration SPI.
*/
package org.hibernate.cache.cfg.internal;

View File

@ -19,7 +19,7 @@
import org.jboss.logging.Logger; import org.jboss.logging.Logger;
/** /**
* The standard ConfigurationService implementation * The standard {@link ConfigurationService} implementation.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -13,7 +13,7 @@
import org.hibernate.service.spi.ServiceRegistryImplementor; import org.hibernate.service.spi.ServiceRegistryImplementor;
/** /**
* The ServiceInitiator for the ConfigurationService * The {@link org.hibernate.service.spi.ServiceInitiator} for the {@link ConfigurationService}.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -6,6 +6,6 @@
*/ */
/** /**
* Internal support for the configuration service implementation * The built-in implementation of the configuration service.
*/ */
package org.hibernate.engine.config.internal; package org.hibernate.engine.config.internal;

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* Package for the configuration service, which provides access to configuration settings as part of a * Contains the configuration service, which provides access to
* ServiceRegistry * settings via a {@link org.hibernate.service.ServiceRegistry}.
*/ */
package org.hibernate.engine.config; package org.hibernate.engine.config;

View File

@ -10,7 +10,7 @@
import static org.hibernate.engine.config.spi.ConfigurationService.Converter; import static org.hibernate.engine.config.spi.ConfigurationService.Converter;
/** /**
* Standard set of setting converters * Standard set of setting converters.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -6,6 +6,8 @@
*/ */
/** /**
* SPI Package for the configuration service. * Defines the SPI of the configuration service.
* <p>
* Provides access to settings via a {@link org.hibernate.service.ServiceRegistry}.
*/ */
package org.hibernate.engine.config.spi; package org.hibernate.engine.config.spi;

View File

@ -7,7 +7,7 @@
/** /**
* Support for many of the internal workings of Hibernate. * Support for many of the internal workings of Hibernate.
* * <p>
* See also the {@link org.hibernate.internal} package. * See also the {@link org.hibernate.internal} package.
*/ */
package org.hibernate.engine.internal; package org.hibernate.engine.internal;

View File

@ -0,0 +1,12 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* A range of container-specific implementations of
* {@link org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform}.
*/
package org.hibernate.engine.transaction.jta.platform.internal;

View File

@ -0,0 +1,11 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Implementation of the event listener registration service.
*/
package org.hibernate.event.service.internal;

View File

@ -0,0 +1,11 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Support for the event listener registration service.
*/
package org.hibernate.event.service;

View File

@ -11,8 +11,9 @@
import org.hibernate.service.Service; import org.hibernate.service.Service;
/** /**
* Service for accessing each {@link EventListenerGroup} by {@link EventType}, as well as convenience * Service for accessing each {@link EventListenerGroup} by {@link EventType},
* methods for managing the listeners registered in each {@link EventListenerGroup}. * along with convenience methods for managing the listeners registered in
* each {@link EventListenerGroup}.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -0,0 +1,13 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* An SPI for the event listener registration service.
*
* @see org.hibernate.event.service.spi.EventListenerRegistry
*/
package org.hibernate.event.service.spi;

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* Implements and extends the JPA-defined {@link jakarta.persistence.EntityGraph entity graph} API. * Implements and extends the JPA-defined {@linkplain jakarta.persistence.EntityGraph entity graph} API.
* *
* @apiNote This entire package (including sub-packages) is considered incubating * @apiNote This entire package (including sub-packages) is considered incubating
*/ */

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implementation of the SPI for id generator factories.
*/
package org.hibernate.id.factory.internal;

View File

@ -0,0 +1,18 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Defines a {@linkplain org.hibernate.service.Service service} for creating
* id generators.
* <p>
* This is an older mechanism for instantiating and configuring id generators
* which predates the existence of {@link org.hibernate.generator.Generator}.
* It is used when id generators are identified by stringly-typed names.
*
* @see org.hibernate.id.factory.IdentifierGeneratorFactory
*/
package org.hibernate.id.factory;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Contains an SPI for id generator factories.
*/
package org.hibernate.id.factory.spi;

View File

@ -0,0 +1,13 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Contains a framework of strategies for retrieving database-generated ids.
*
* @see org.hibernate.id.insert.InsertGeneratedIdentifierDelegate
*/
package org.hibernate.id.insert;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Contains the {@link org.hibernate.id.uuid.UuidGenerator}.
*/
package org.hibernate.id.uuid;

View File

@ -0,0 +1,12 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implementation of the SPI for extensions which integrate with Hibernate via the
* {@link org.hibernate.service.Service} mechanism.
*/
package org.hibernate.integrator.internal;

View File

@ -0,0 +1,13 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implements the SPI for basic-value conversions.
*
* @see org.hibernate.metamodel.model.convert.spi.BasicValueConverter
*/
package org.hibernate.metamodel.model.convert.internal;

View File

@ -6,11 +6,15 @@
*/ */
/** /**
* Support for basic-value conversions. The main contract is * Support for basic-value conversions. The main contract is
* {@link org.hibernate.metamodel.model.convert.spi.BasicValueConverter}. * {@link org.hibernate.metamodel.model.convert.spi.BasicValueConverter}.
* * <p>
* All basic value conversions are defined by this package including: * All basic value conversions are defined by this package including:
* * Enum conversions - {@link org.hibernate.metamodel.model.convert.spi.EnumValueConverter} * <ul>
* * AttributeConverter - {@link org.hibernate.metamodel.model.convert.spi.JpaAttributeConverter} * <li>Java {@code enum} conversions via
* {@link org.hibernate.metamodel.model.convert.spi.EnumValueConverter}
* <li>support for {@link jakarta.persistence.AttributeConverter} via
* {@link org.hibernate.metamodel.model.convert.spi.JpaAttributeConverter}
* </ul>
*/ */
package org.hibernate.metamodel.model.convert; package org.hibernate.metamodel.model.convert;

View File

@ -13,13 +13,12 @@
/** /**
* Support for basic-value conversions. * Support for basic-value conversions.
* * <p>
* Conversions might be defined by: * Conversions might be determined by:
* * <ul>
* * a custom JPA {@link jakarta.persistence.AttributeConverter}, * <li>a custom JPA {@link jakarta.persistence.AttributeConverter}, or
* * implicitly, based on the Java type (e.g., enums) * <li>implicitly, based on the Java type, for example, for Java {@code enum}s.
* * etc * </ul>
*
* @param <D> The Java type we can use to represent the domain (object) type * @param <D> The Java type we can use to represent the domain (object) type
* @param <R> The Java type we can use to represent the relational type * @param <R> The Java type we can use to represent the relational type
* *

View File

@ -20,7 +20,7 @@
import static org.hibernate.metamodel.model.convert.internal.EnumHelper.getEnumeratedValues; import static org.hibernate.metamodel.model.convert.internal.EnumHelper.getEnumeratedValues;
/** /**
* BasicValueConverter extension for enum-specific support * {@link BasicValueConverter} extension for enum-specific support
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -12,7 +12,7 @@
import org.hibernate.type.descriptor.java.JavaType; import org.hibernate.type.descriptor.java.JavaType;
/** /**
* BasicValueConverter extension for AttributeConverter-specific support * {@link BasicValueConverter} extension for {@link AttributeConverter}-specific support
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -0,0 +1,13 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An SPI for basic-value conversions.
*
* @see org.hibernate.metamodel.model.convert.spi.BasicValueConverter
*/
package org.hibernate.metamodel.model.convert.spi;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implementation of the SPI for the runtime domain metamodel.
*/
package org.hibernate.metamodel.model.domain.internal;

View File

@ -0,0 +1,13 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An SPI for the runtime domain metamodel.
*
* @see org.hibernate.metamodel.model.domain.spi.JpaMetamodelImplementor
*/
package org.hibernate.metamodel.model.domain.spi;

View File

@ -8,12 +8,12 @@
/** /**
* Defines support for performing mutation operations against collections. * Defines support for performing mutation operations against collections.
* *
* @apiNote The names used here are logical. E.g. "inserting a row" may actually * @apiNote The names used here are logical. E.g. "inserting a row" may actually
* execute an UPDATE statement instead of an INSERT. This is generally * execute an UPDATE statement instead of an INSERT. This is generally
* delineated based on whether there is a collection table involved or * delineated based on whether there is a collection table involved or
* not. In standard Hibernate terms, this breaks down to the distinction * not. In terms of our usual model, this breaks down to the distinction
* between {@link org.hibernate.persister.collection.BasicCollectionPersister} * between {@link org.hibernate.persister.collection.BasicCollectionPersister}
* and {@link org.hibernate.persister.collection.OneToManyPersister}. * and {@link org.hibernate.persister.collection.OneToManyPersister}.
*/ */
@Incubating @Incubating
package org.hibernate.persister.collection.mutation; package org.hibernate.persister.collection.mutation;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Built-in implementation of the SPI for integrating entity and collection persisters.
*/
package org.hibernate.persister.internal;

View File

@ -0,0 +1,12 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Contains various implementations of
* {@link org.hibernate.property.access.spi.PropertyAccessStrategy}.
*/
package org.hibernate.property.access.internal;

View File

@ -15,7 +15,7 @@
import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.engine.spi.SharedSessionContractImplementor;
/** /**
* The contract for getting value for a persistent property from its container/owner * The contract for getting the value of a persistent attribute from its container/owner.
* *
* @author Gavin King * @author Gavin King
* @author Steve Ebersole * @author Steve Ebersole

View File

@ -9,10 +9,10 @@
import org.hibernate.metamodel.spi.ManagedTypeRepresentationStrategy; import org.hibernate.metamodel.spi.ManagedTypeRepresentationStrategy;
/** /**
* Describes access to a particular persistent property in terms of getting and setting * Defines how a given persistent attribute is accessed by exposing
* values. * a {@link Getter} and a {@link Setter} for the attribute.
* <p> * <p>
* Instances are obtained from {@link PropertyAccessStrategy} * Instances are obtained from a {@link PropertyAccessStrategy}.
* *
* @see ManagedTypeRepresentationStrategy * @see ManagedTypeRepresentationStrategy
* *
@ -21,21 +21,21 @@
*/ */
public interface PropertyAccess { public interface PropertyAccess {
/** /**
* Access to the PropertyAccessStrategy that created this PropertyAccess * Access to the {@link PropertyAccessStrategy} that created this instance.
* *
* @return The PropertyAccessStrategy that created this PropertyAccess * @return The {@code PropertyAccessStrategy}
*/ */
PropertyAccessStrategy getPropertyAccessStrategy(); PropertyAccessStrategy getPropertyAccessStrategy();
/** /**
* Obtain the delegate for getting values for the described persistent property * Obtain the delegate for getting values of the persistent attribute.
* *
* @return The property getter * @return The property getter
*/ */
Getter getGetter(); Getter getGetter();
/** /**
* Obtain the delegate for setting values for the described persistent property * Obtain the delegate for setting values of the persistent attribute.
* *
* @return The property setter * @return The property setter
*/ */

View File

@ -9,7 +9,7 @@
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
/** /**
* Indicates a problem while building a PropertyAccess * Indicates a problem while building a {@link PropertyAccess}.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -7,13 +7,14 @@
package org.hibernate.property.access.spi; package org.hibernate.property.access.spi;
/** /**
* Describes a strategy for persistent property access (field, JavaBean-style property, etc). * Describes a strategy for accessing a persistent attribute,
* * for example: field, JavaBean-style property, or whatever.
* <p>
* Acts as a factory for {@link PropertyAccess} instances. * Acts as a factory for {@link PropertyAccess} instances.
*/ */
public interface PropertyAccessStrategy { public interface PropertyAccessStrategy {
/** /**
* Build a PropertyAccess for the indicated property * Build a {@link PropertyAccess} for the indicated property
* *
* @param containerJavaType The Java type that contains the property; may be {@code null} for non-pojo cases. * @param containerJavaType The Java type that contains the property; may be {@code null} for non-pojo cases.
* @param propertyName The property name * @param propertyName The property name

View File

@ -10,12 +10,12 @@
import org.hibernate.service.Service; import org.hibernate.service.Service;
/** /**
* Contract for resolving the PropertyAccessStrategy to use. * Contract for resolving the {@link PropertyAccessStrategy} to use.
* <p>
* todo : moving forward I'd prefer this not be a service, but instead a strategy on the MetadataBuildingContext or MetadataBuildingOptions
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */
//TODO: moving forward I'd prefer this not be a service, but instead a
// strategy on the MetadataBuildingContext or MetadataBuildingOptions
public interface PropertyAccessStrategyResolver extends Service { public interface PropertyAccessStrategyResolver extends Service {
/** /**
* Resolve the PropertyAccessStrategy to use * Resolve the PropertyAccessStrategy to use

View File

@ -10,7 +10,7 @@
import java.lang.reflect.Method; import java.lang.reflect.Method;
/** /**
* The contract for setting a persistent property value into its container/owner * The contract for setting the value of a persistent attribute on its container/owner.
* *
* @author Gavin King * @author Gavin King
* @author Steve Ebersole * @author Steve Ebersole

View File

@ -6,6 +6,9 @@
*/ */
/** /**
* Integration contracts related with {@link org.hibernate.property.access.spi.PropertyAccessStrategy} * An SPI abstracting how persistent attributes of an entity or embeddable type
* are accessed by Hibernate.
*
* @see org.hibernate.property.access.spi.PropertyAccessStrategy
*/ */
package org.hibernate.property.access.spi; package org.hibernate.property.access.spi;

View File

@ -6,10 +6,8 @@
*/ */
/** /**
* Hibernate's support for JPA criteria queries. * Support for JPA criteria queries.
* <p> *
* Note JPA criteria are similar to Hibernate's legacy notion * @see org.hibernate.query.criteria.HibernateCriteriaBuilder
* of a detached criteria. Ultimately the criteria tree is transformed
* into an SQM form and becomes a Query.
*/ */
package org.hibernate.query.criteria; package org.hibernate.query.criteria;

View File

@ -10,8 +10,8 @@
import org.hibernate.service.Service; import org.hibernate.service.Service;
/** /**
* Interface which allows to extend {@link HibernateCriteriaBuilder} * Interface which allows extension of {@link HibernateCriteriaBuilder}
* with additional functionality by registering a {@link Service} * with additional functionality by registering a {@link Service}.
* *
* @author Marco Belladelli * @author Marco Belladelli
*/ */

View File

@ -0,0 +1,12 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* SPI for extending {@link org.hibernate.query.criteria.HibernateCriteriaBuilder}
* with additional functionality by registering a {@link org.hibernate.service.Service}.
*/
package org.hibernate.query.criteria.spi;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An implementation of the bean container SPI based on CDI.
*/
package org.hibernate.resource.beans.container.internal;

View File

@ -6,6 +6,7 @@
*/ */
/** /**
* Package for integrating dependency-injection bean containers * This package provides support for integrating bean containers like CDI.
* A "bean container" is usually based around dependency injection.
*/ */
package org.hibernate.resource.beans.container; package org.hibernate.resource.beans.container;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An SPI abstracting over CDI-like bean containers.
*/
package org.hibernate.resource.beans.container.spi;

View File

@ -18,7 +18,7 @@
import org.hibernate.service.spi.Stoppable; import org.hibernate.service.spi.Stoppable;
/** /**
* Abstract support (template pattern) for ManagedBeanRegistry implementations * Abstract support (template pattern) for {@link ManagedBeanRegistry} implementations
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -6,9 +6,9 @@
*/ */
/** /**
* Defines Hibernate's integration with CDI. Because CDI may or may not be available * Defines Hibernate's integration with CDI. Because CDI may or may not be available
* a lot of this support is directed toward abstracting/encapsulating CDI. The * a lot of this support is directed toward abstracting/encapsulating CDI. The central
* central contracts here from a consumption point-of-view are * contracts here from a client point of view are
* {@link org.hibernate.resource.beans.spi.ManagedBean} and * {@link org.hibernate.resource.beans.spi.ManagedBean} and
* {@link org.hibernate.resource.beans.spi.ManagedBeanRegistry} which may or may not * {@link org.hibernate.resource.beans.spi.ManagedBeanRegistry} which may or may not
* really be backed by CDI. * really be backed by CDI.

View File

@ -0,0 +1,19 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Defines an SPI for integration with CDI-like containers.
* <p>
* Because CDI may or may not be available, much of this support
* is directed toward abstracting/encapsulating CDI.
* <p>
* The central contracts here from a client point of view are
* {@link org.hibernate.resource.beans.spi.ManagedBean} and
* {@link org.hibernate.resource.beans.spi.ManagedBeanRegistry},
* which may or may not really be backed by CDI.
*/
package org.hibernate.resource.beans.spi;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implementation of the SPI for managing JDBC connections and other heavyweight resources.
*/
package org.hibernate.resource.jdbc.internal;

View File

@ -7,5 +7,8 @@
/** /**
* A facility for managing JDBC connections and other heavyweight resources. * A facility for managing JDBC connections and other heavyweight resources.
*
* @see org.hibernate.resource.jdbc.LogicalConnection
* @see org.hibernate.resource.jdbc.ResourceRegistry
*/ */
package org.hibernate.resource.jdbc; package org.hibernate.resource.jdbc;

View File

@ -10,7 +10,7 @@
import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistry;
/** /**
* Provides the JdbcSession implementation with contextual information it needs during its lifecycle. * Provides the {@code JdbcSession} with contextual information it needs during its lifecycle.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -10,12 +10,14 @@
import org.hibernate.resource.transaction.spi.TransactionCoordinator; import org.hibernate.resource.transaction.spi.TransactionCoordinator;
/** /**
* Contract for something that controls a JdbcSessionContext. The name comes from the * Contract for something that controls a {@link JdbcSessionContext}.
* design idea of a JdbcSession which encapsulates this information, which we will hopefully * <p>
* get back to later. * The term "JDBC session" is taken from the SQL specification which
* calls a connection and its associated transaction context a "session".
* *
* The term "JDBC session" is taken from the SQL specification which calls a connection * @apiNote The name comes from the design idea of a {@code JdbcSession}
* and its associated transaction context a "session". * which encapsulates this information, which we will hopefully
* get back to later.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -13,7 +13,7 @@
import org.hibernate.resource.jdbc.LogicalConnection; import org.hibernate.resource.jdbc.LogicalConnection;
/** /**
* SPI contract for LogicalConnection * SPI contract for {@link LogicalConnection}.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -9,7 +9,7 @@
import org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction; import org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction;
/** /**
* Provides access to manage "transactionality" via the JDBC Connection * Provides access to manage "transactionality" via the JDBC {@link java.sql.Connection}.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -0,0 +1,12 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An SPI for managing JDBC connections and other heavyweight resources,
* based around the idea of a "JDBC session".
*/
package org.hibernate.resource.jdbc.spi;

View File

@ -16,7 +16,7 @@
import org.hibernate.tool.schema.internal.exec.JdbcContext; import org.hibernate.tool.schema.internal.exec.JdbcContext;
/** /**
* Concrete builder for resource-local TransactionCoordinator instances. * Concrete builder for resource-local {@link TransactionCoordinator} instances.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -29,8 +29,8 @@
import static org.hibernate.internal.CoreLogging.messageLogger; import static org.hibernate.internal.CoreLogging.messageLogger;
/** /**
* An implementation of TransactionCoordinator based on managing a transaction through the JDBC Connection * An implementation of {@link TransactionCoordinator} based on managing a
* via {@link JdbcResourceTransaction} * transaction through the JDBC Connection via {@link JdbcResourceTransaction}.
* *
* @author Steve Ebersole * @author Steve Ebersole
* *

View File

@ -0,0 +1,12 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* An implementation of {@link org.hibernate.resource.transaction.spi.TransactionCoordinator}
* based on {@link org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction}.
*/
package org.hibernate.resource.transaction.backend.jdbc.internal;

View File

@ -9,12 +9,14 @@
* Collectively models the concept of transaction coordination through the * Collectively models the concept of transaction coordination through the
* "data store" specific notion of a transaction. In Hibernate ORM uses this * "data store" specific notion of a transaction. In Hibernate ORM uses this
* correlates to the JDBC notion of a transaction, which (unfortunately) is * correlates to the JDBC notion of a transaction, which (unfortunately) is
* not modeled by an actual contract. Instead JDBC models transaction control * not modeled by an actual contract. Instead, JDBC models transaction control
* via its Connection contract. Here we use * via its Connection contract.
* <p>
* Here we use
* {@link org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction} * {@link org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction}
* as the encapsulation for conceptual JDBC transaction. It also helps isolate the * as the encapsulation for conceptual JDBC transaction. It also helps isolate the
* {@link org.hibernate.resource.transaction} and {@link org.hibernate.resource.jdbc} * {@link org.hibernate.resource.transaction} and {@link org.hibernate.resource.jdbc}
* packages from circularity. Lastly it does somewhat allow for potentially abstracting * packages from circularity. Lastly, it does somewhat allow for potentially abstracting
* non-JDBC data stores into this transaction handling utilizing its data store specific * non-JDBC data stores into this transaction handling utilizing its data store specific
* transaction mechanism. * transaction mechanism.
*/ */

View File

@ -7,15 +7,17 @@
package org.hibernate.resource.transaction.backend.jdbc.spi; package org.hibernate.resource.transaction.backend.jdbc.spi;
/** /**
* Provides access to DataStoreTransaction (JDBC transaction stand-in) for use in building resource-local * Provides access to {@link JdbcResourceTransaction} (JDBC transaction stand-in) for use in
* TransactionCoordinator instances. * building resource-local {@link org.hibernate.resource.transaction.spi.TransactionCoordinator}
* instances.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */
public interface JdbcResourceTransactionAccess { public interface JdbcResourceTransactionAccess {
/** /**
* Provides access to the resource local transaction of this data store, which is used by the TransactionCoordinator * Provides access to the resource local transaction of this data store, which is used by the
* to manage transactions against the data store when not using JTA. * {@link org.hibernate.resource.transaction.spi.TransactionCoordinator} to manage transactions
* against the data store when not using JTA.
* *
* @return The resource-local transaction * @return The resource-local transaction
*/ */

View File

@ -0,0 +1,15 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* An SPI which models the concept of a JDBC resource-level transaction.
* <p>
* JDBC itself provides no object which represents a transaction.
*
* @see org.hibernate.resource.transaction.backend.jdbc.spi.JdbcResourceTransaction
*/
package org.hibernate.resource.transaction.backend.jdbc.spi;

View File

@ -6,16 +6,17 @@
*/ */
/** /**
* Defines support for dealing with database results, accounting for mixed * Defines support for dealing with results returned from database via JDBC.
* result sets and update counts hiding the complexity of how this is exposed * <p>
* via the JDBC API. * Accounts for mixed result sets and update counts, hiding the complexity of how
* this is exposed via the JDBC API.
* <ul> * <ul>
* <li>{@link org.hibernate.result.Outputs} represents the overall group of results. * <li>{@link org.hibernate.result.Outputs} represents the overall group of results.
* <li>{@link org.hibernate.result.Output} represents the mixed individual outcomes, * <li>{@link org.hibernate.result.Output} represents the mixed individual outcomes,
* which might be either a {@link org.hibernate.result.ResultSetOutput} or * which might be either a {@link org.hibernate.result.ResultSetOutput} or
* a {@link org.hibernate.result.UpdateCountOutput}. * a {@link org.hibernate.result.UpdateCountOutput}.
* </ul> * </ul>
* * <p>
* <pre> * <pre>
* Outputs outputs = ...; * Outputs outputs = ...;
* while ( outputs.goToNext() ) { * while ( outputs.goToNext() ) {

View File

@ -0,0 +1,11 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Implementation of the SPI for integrating pluggable services.
*/
package org.hibernate.service.internal;

View File

@ -12,7 +12,7 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME; import static java.lang.annotation.RetentionPolicy.RUNTIME;
/** /**
* Annotation to allow services to request injection of other services * Annotation to allow services to request injection of other services.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -11,7 +11,7 @@
import org.jboss.logging.Logger; import org.jboss.logging.Logger;
/** /**
* Models a binding for a particular service * Models a binding for a particular service.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -10,7 +10,7 @@
/** /**
* Contract for an initiator of services that target the specialized service registry * Contract for an initiator of services that target the specialized service registry
* {@link SessionFactoryServiceRegistry} * {@link SessionFactoryServiceRegistry}.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -7,8 +7,9 @@
package org.hibernate.service.spi; package org.hibernate.service.spi;
/** /**
* Specialized {@link org.hibernate.service.ServiceRegistry} implementation that holds services which need access * Specialized {@link org.hibernate.service.ServiceRegistry} implementation that
* to the {@link org.hibernate.SessionFactory} during initialization. * holds services which need access to the {@link org.hibernate.SessionFactory}
* during initialization.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -9,9 +9,10 @@
import org.hibernate.service.UnknownUnwrapTypeException; import org.hibernate.service.UnknownUnwrapTypeException;
/** /**
* Optional contract for services that wrap stuff that to which it is useful to have access. For example, a service * Optional contract for services that wrap stuff that to which it is useful to have access.
* that maintains a {@link javax.sql.DataSource} might want to expose access to the {@link javax.sql.DataSource} or * <p>
* its {@link java.sql.Connection} instances. * For example, a service that maintains a {@link javax.sql.DataSource} might want to expose
* access to the {@link javax.sql.DataSource} or its {@link java.sql.Connection} instances.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* Package defining a SQL AST for use in creating and executing various JDBC operations * Package defining a SQL AST for use in creating and executing various JDBC operations.
*/ */
@Incubating @Incubating
package org.hibernate.sql.ast; package org.hibernate.sql.ast;

View File

@ -6,6 +6,6 @@
*/ */
/** /**
* Package defining support for creating and consuming SQL AST * Package defining support for creating and consuming a SQL AST.
*/ */
package org.hibernate.sql.ast.spi; package org.hibernate.sql.ast.spi;

View File

@ -8,7 +8,6 @@
/** /**
* Package defining the SQL AST. * Package defining the SQL AST.
* <p> * <p>
* {@link org.hibernate.sql.ast.spi} defines support for creating and * The package {@link org.hibernate.sql.ast.spi} defines support for creating and consuming the AST.
* consuming these trees.
*/ */
package org.hibernate.sql.ast.tree; package org.hibernate.sql.ast.tree;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Implementation of the SPI for execution of SQL statements via JDBC.
*/
package org.hibernate.sql.exec.internal;

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* SPI for execution of SQL statements through JDBC. The statement to execute is * SPI for execution of SQL statements via JDBC. The statement to execute is
* modelled by {@link org.hibernate.sql.exec.spi.JdbcOperationQuery} and is * modelled by {@link org.hibernate.sql.exec.spi.JdbcOperationQuery} and is
* executed via the corresponding executor. * executed via the corresponding executor.
* <p> * <p>

View File

@ -22,7 +22,7 @@
import org.hibernate.sql.model.jdbc.JdbcMutationOperation; import org.hibernate.sql.model.jdbc.JdbcMutationOperation;
/** /**
* Base TableMutation support * Base {@link TableMutation} support
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -6,7 +6,7 @@
*/ */
/** /**
* SQL AST extensions for model mutations * SQL AST extensions for model mutations.
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -6,6 +6,11 @@
*/ */
/** /**
* Concrete implementations of
* {@link org.hibernate.sql.model.ast.MutationGroup},
* {@link org.hibernate.sql.model.MutationOperation}, and
* {@link org.hibernate.sql.model.ast.TableMutation}.
*
* @author Steve Ebersole * @author Steve Ebersole
*/ */
@Internal @Internal

View File

@ -6,8 +6,7 @@
*/ */
/** /**
* Extensions to {@link org.hibernate.sql.exec.spi.JdbcOperation} for * Extensions to {@link org.hibernate.sql.exec.spi.JdbcOperation} for model mutations.
* model mutations
* *
* @author Steve Ebersole * @author Steve Ebersole
*/ */

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* The built-in implementation of the statistics collection service.
*/
package org.hibernate.stat.internal;

View File

@ -0,0 +1,11 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Implementation of the SPI for schema information extraction from the database via JDBC.
*/
package org.hibernate.tool.schema.extract.internal;

View File

@ -0,0 +1,11 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Defines an SPI for schema information extraction from the database via JDBC.
*/
package org.hibernate.tool.schema.extract.spi;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Support for exporting generated DDL to the database or to SQL scripts.
*/
package org.hibernate.tool.schema.internal.exec;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An implementation of the SPI for the tooling related to DDL generation, export, migration, and validation.
*/
package org.hibernate.tool.schema.internal;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* Support for reading SQL scripts supplied to the schema tooling.
*/
package org.hibernate.tool.schema.internal.script;

View File

@ -0,0 +1,11 @@
/*
* 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 http://www.gnu.org/licenses/lgpl-2.1.html
*/
/**
* An SPI for the tooling related to DDL generation, export, migration, and validation.
*/
package org.hibernate.tool.schema.spi;

View File

@ -0,0 +1,11 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Includes several general-purpose implementations of {@link org.hibernate.type.descriptor.sql.DdlType}.
*/
package org.hibernate.type.descriptor.sql.internal;

View File

@ -0,0 +1,14 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* An API for working with abstract families of DDL types
* parameterized by varying length, precision, and scale.
*
* @see org.hibernate.type.descriptor.sql.DdlType
*/
package org.hibernate.type.descriptor.sql;

View File

@ -0,0 +1,13 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Defines a registry for {@link org.hibernate.type.descriptor.sql.DdlType}s.
*
* @see org.hibernate.type.descriptor.sql.spi.DdlTypeRegistry
*/
package org.hibernate.type.descriptor.sql.spi;

View File

@ -73,18 +73,20 @@
import static org.hibernate.internal.CoreLogging.messageLogger; import static org.hibernate.internal.CoreLogging.messageLogger;
/** /**
* Defines a set of available Type instances as isolated from other configurations. The * Defines a set of available {@link Type} instances as isolated from other configurations.
* isolation is defined by each instance of a TypeConfiguration. * The isolation is defined by each instance of a {@code TypeConfiguration}.
* <p> * <p>
* Note that each Type is inherently "scoped" to a TypeConfiguration. We only ever access * Note that each {@code Type} is inherently "scoped" to a {@code TypeConfiguration}. We only
* a Type through a TypeConfiguration - specifically the TypeConfiguration in effect for * ever access a {@code Type} via its {@code TypeConfiguration}, more specifically, via the
* the current persistence unit. * {@code TypeConfiguration} in effect for the current persistence unit.
* <p> * <p>
* Even though each Type instance is scoped to a TypeConfiguration, Types do not inherently * Even though each {@code Type} instance is scoped to a {@code TypeConfiguration}, a {@code Type}
* have access to that TypeConfiguration (mainly because Type is an extension contract - meaning * does not inherently have access to its {@code TypeConfiguration}, mainly because {@code Type}
* that Hibernate does not manage the full set of Types available in ever TypeConfiguration). * is an extension contract and so Hibernate does not have full control over every {@code Type}
* However Types will often want access to the TypeConfiguration, which can be achieved by the * available in a {@code TypeConfiguration}.
* Type simply implementing the {@link TypeConfigurationAware} interface. * <p>
* However, a {@code Type} will often want access to the {@code TypeConfiguration}, which can be
* achieved by the {@code Type} simply implementing the {@link TypeConfigurationAware} interface.
* *
* @author Steve Ebersole * @author Steve Ebersole
* *

View File

@ -7,9 +7,10 @@
package org.hibernate.type.spi; package org.hibernate.type.spi;
/** /**
* Optional contract for Types that would like to be part of the scoping process of the * Optional contract for {@link org.hibernate.type.Type}s which would like to be part of the scoping
* TypeConfiguration, specifically to receive access to the TypeConfiguration it is scoped * process of the {@link TypeConfiguration}, that is, to receive access to the {@code TypeConfiguration}
* to. For additional information on TypeConfiguration scoping, see {@link TypeConfiguration} * to which they are scoped. For additional information on {@code TypeConfiguration} scoping, see
* {@link TypeConfiguration}.
* <p> * <p>
* Note that it is illegal for a Type to implement TypeConfigurationAware and at the same time * Note that it is illegal for a Type to implement TypeConfigurationAware and at the same time
* be scoped to more than one TypeConfiguration. Hibernate will enforce this internally * be scoped to more than one TypeConfiguration. Hibernate will enforce this internally

View File

@ -0,0 +1,13 @@
/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
/**
* Defines a registry for Hibernate {@link org.hibernate.type.Type}s.
*
* @see org.hibernate.type.spi.TypeConfiguration
*/
package org.hibernate.type.spi;