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

org.glassfish.hk2.api.Validator Maven / Gradle / Ivy

There is a newer version: 4.0.0-M3
Show newest version
/*
 * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package org.glassfish.hk2.api;

/**
 * This method is called when it determined that a type that is
 * annotated with a Validating annotation is to be injected into
 * any other class.
 * 
 * @author jwells
 *
 */
public interface Validator {
    /**
     * This method is called whenever it has been determined that a validating
     * class is to be injected into an injection point, or when a descriptor
     * is being looked up explicitly with the API, or a descriptor is being
     * bound or unbound into the registry.
     * 

* The candidate descriptor being passed in may not have yet been reified. If * possible, this method should do its work without reifying the descriptor. * However, if it is necessary to reify the descriptor, it should be done with * the ServiceLocator.reifyDescriptor method. *

* The operation will determine what operation is being performed. In the * BIND or UNBIND cases the Injectee will be null. In the LOOKUP case * the Injectee will be non-null if this is being done as part of an * injection point. In the LOOKUP case the Injectee will be null if this * is being looked up directly from the {@link ServiceLocator} API, in which * case the caller of the lookup method will be on the call frame. * * @param info Information about the operation being performed * @return true if this injection should succeed, false if this candidate should not * be returned * @throws RuntimeException This method should not throw an exception. If it * does the {@link ErrorService} will be called with the {@link ErrorType#VALIDATE_FAILURE}. * Even if the {@link ErrorService#onFailure(ErrorInformation)} rethrows the exception * that exception will not be thrown up the stack, instead the system will always * behave as if false had been returned from this method */ public boolean validate(ValidationInformation info); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy