refresh jdoc for TC and TCA
This commit is contained in:
parent
b47049f892
commit
d285464302
|
@ -72,22 +72,25 @@ import jakarta.persistence.TemporalType;
|
||||||
import static org.hibernate.internal.CoreLogging.messageLogger;
|
import static org.hibernate.internal.CoreLogging.messageLogger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines a set of available {@link Type} instances as isolated from other configurations.
|
* Each instance defines a set of {@linkplain Type types} available in a given
|
||||||
* The isolation is defined by each instance of a {@code TypeConfiguration}.
|
* persistence unit, and isolates them from other configurations.
|
||||||
* <p>
|
* <p>
|
||||||
* Note that each {@code Type} is inherently "scoped" to a {@code TypeConfiguration}. We only
|
* Note that each instance of {@code Type} is inherently "scoped" to a
|
||||||
* ever access a {@code Type} via its {@code TypeConfiguration}, more specifically, via the
|
* {@code TypeConfiguration}. We always obtain a reference to a {@code Type}
|
||||||
* {@code TypeConfiguration} in effect for the current persistence unit.
|
* via the {@code TypeConfiguration} associated with the current persistence
|
||||||
|
* unit.
|
||||||
* <p>
|
* <p>
|
||||||
* Even though each {@code Type} instance is scoped to a {@code TypeConfiguration}, a {@code Type}
|
* On the other hand, a {@code Type} does not inherently have access to its
|
||||||
* does not inherently have access to its {@code TypeConfiguration}, mainly because {@code Type}
|
* parent {@code TypeConfiguration} since extensions may contribute instances
|
||||||
* is an extension contract and so Hibernate does not have full control over every {@code Type}
|
* of {@code Type}, via {@link org.hibernate.boot.model.TypeContributions},
|
||||||
* available in a {@code TypeConfiguration}.
|
* for example, and the instantiation of such instances occurs outside the
|
||||||
|
* control of Hibernate.
|
||||||
* <p>
|
* <p>
|
||||||
* However, a {@code Type} will often want access to the {@code TypeConfiguration}, which can be
|
* In particular, a custom {@link org.hibernate.boot.model.TypeContributor}
|
||||||
* achieved by the {@code Type} simply implementing the {@link TypeConfigurationAware} interface.
|
* may contribute types to a {@code TypeConfiguration}.
|
||||||
* <p>
|
* <p>
|
||||||
* A {@code TypeConfiguration} may be configured by a {@link org.hibernate.boot.model.TypeContributor}.
|
* If a {@code Type} requires access to the parent {@code TypeConfiguration},
|
||||||
|
* it should implement {@link TypeConfigurationAware}.
|
||||||
*
|
*
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
||||||
*
|
*
|
||||||
|
@ -269,19 +272,21 @@ public class TypeConfiguration implements SessionFactoryObserver, Serializable {
|
||||||
/**
|
/**
|
||||||
* Understands the following target type names for the {@code cast()} function:
|
* Understands the following target type names for the {@code cast()} function:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>String
|
* <li>{@code String}
|
||||||
* <li>Character
|
* <li>{@code Character}
|
||||||
* <li>Byte, Integer, Long
|
* <li>{@code Byte}, {@code Short}, {@code Integer}, {@code Long}
|
||||||
* <li>Float, Double
|
* <li>{@code Float}, {@code Double}
|
||||||
* <li>Time, Date, Timestamp
|
* <li>{@code Time}, {@code Date}, {@code Timestamp}
|
||||||
* <li>LocalDate, LocalTime, LocalDateTime
|
* <li>{@code LocalDate}, {@code LocalTime}, {@code LocalDateTime}
|
||||||
* <li>BigInteger
|
* <li>{@code BigInteger}
|
||||||
* <li>BigDecimal
|
* <li>{@code BigDecimal}
|
||||||
* <li>Binary
|
* <li>{@code Binary}
|
||||||
* <li>Boolean (fragile)
|
* <li>{@code Boolean}
|
||||||
|
* (fragile, not aware of encoding to character via
|
||||||
|
* {@link org.hibernate.type.CharBooleanConverter})
|
||||||
* </ul>
|
* </ul>
|
||||||
* <p>
|
* <p>
|
||||||
* (The type names are not case-sensitive.)
|
* The type names are not case-sensitive.
|
||||||
*/
|
*/
|
||||||
public BasicValuedMapping resolveCastTargetType(String name) {
|
public BasicValuedMapping resolveCastTargetType(String name) {
|
||||||
switch ( name.toLowerCase() ) {
|
switch ( name.toLowerCase() ) {
|
||||||
|
|
|
@ -7,14 +7,16 @@
|
||||||
package org.hibernate.type.spi;
|
package org.hibernate.type.spi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optional contract for {@link org.hibernate.type.Type}s which would like to be part of the scoping
|
* Optional contract for a {@link org.hibernate.type.Type} which is aware
|
||||||
* process of the {@link TypeConfiguration}, that is, to receive access to the {@code TypeConfiguration}
|
* of its scoping to a {@link TypeConfiguration} and which receives access
|
||||||
* to which they are scoped. For additional information on {@code TypeConfiguration} scoping, see
|
* to the {@code TypeConfiguration} to which it is scoped.
|
||||||
* {@link TypeConfiguration}.
|
|
||||||
* <p>
|
* <p>
|
||||||
* Note that it is illegal for a Type to implement TypeConfigurationAware and at the same time
|
* For additional information about scoping, see {@link TypeConfiguration}.
|
||||||
* be scoped to more than one TypeConfiguration. Hibernate will enforce this internally
|
*
|
||||||
* which is why {@link #getTypeConfiguration()} is exposed here.
|
* @apiNote A {@code Type} which implements {@code TypeConfigurationAware}
|
||||||
|
* may not be scoped to more than one {@code TypeConfiguration}.
|
||||||
|
* The method {@link #getTypeConfiguration()} allows this rule
|
||||||
|
* to be enforced.
|
||||||
*
|
*
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue