org.hibernate.boot.model.process.spi.ManagedResources Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core Show documentation
Show all versions of hibernate-core Show documentation
Hibernate's core ORM functionality
/*
* 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.boot.model.process.spi;
import java.util.Collection;
import org.hibernate.boot.AttributeConverterInfo;
import org.hibernate.boot.jaxb.spi.Binding;
import org.hibernate.cfg.AttributeConverterDefinition;
/**
* Represents the result of the first step of the process of building {@link org.hibernate.boot.MetadataSources}
* reference into a {@link org.hibernate.boot.Metadata} reference.
*
* Essentially it represents the combination of:
* - domain classes, packages and mapping files defined via MetadataSources
* - attribute converters defined via MetadataBuildingOptions
* - classes, converters, packages and mapping files auto-discovered as part of scanning
*
*
* @author Steve Ebersole
*/
public interface ManagedResources {
/**
* Informational access to the AttributeConverter definitions known about. Changes to made to
* the returned list have no effect.
*
* @return The AttributeConverter definitions.
*/
Collection getAttributeConverterDefinitions();
/**
* Informational access to any entity and component classes in the user domain model known by Class
* reference . Changes to made to the returned list have no effect.
*
* @return The list of entity/component classes known by Class reference.
*/
Collection getAnnotatedClassReferences();
/**
* Informational access to any entity and component classes in the user domain model known by name.
* Changes to made to the returned list have no effect.
*
* @return The list of entity/component classes known by name.
*/
Collection getAnnotatedClassNames();
/**
* Informational access to any known annotated package names (packages with a {@code package-info.class}
* file that Hibernate has been told about). Changes to made to the returned list have no effect.
*
* @return The list of known annotated package names.
*/
Collection getAnnotatedPackageNames();
/**
* Informational access to binding for all known XML mapping files. Changes to made to the returned
* list have no effect.
*
* @return The list of bindings for all known XML mapping files.
*/
Collection getXmlMappingBindings();
}