/* * 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>. */ package org.hibernate.boot.archive.scan.spi; /** * Defines the contract for Hibernate to be able to scan for classes, packages and resources inside a * persistence unit. * <p/> * Constructors are expected in one of 2 forms:<ul> * <li>no-arg</li> * <li>single arg, of type {@link org.hibernate.boot.archive.spi.ArchiveDescriptorFactory}</li> * </ul> * <p/> * If a ArchiveDescriptorFactory is specified in the configuration, but the Scanner * to be used does not accept a ArchiveDescriptorFactory an exception will be thrown. * * @author Emmanuel Bernard * @author Steve Ebersole */ public interface Scanner { /** * Perform the scanning against the described environment using the * defined options, and return the scan results. * * @param environment The scan environment. * @param options The options to control the scanning. * @param params The parameters for scanning */ public ScanResult scan(ScanEnvironment environment, ScanOptions options, ScanParameters params); }