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

jakarta.ejb.Local Maven / Gradle / Ivy

Go to download

This artifact provides a single jar that contains all classes required to use remote EJB and JMS, including all dependencies. It is intended for use by those not using maven, maven users should just import the EJB and JMS BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up with different versions on classes on the class path).

There is a newer version: 33.0.2.Final
Show newest version
/*
 * Copyright (c) 1997, 2020 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 jakarta.ejb;

import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.ElementType;

import java.lang.annotation.Target;
import java.lang.annotation.Retention;

/**
 * Declares the local business interface(s) for a session bean.
 * 

* The Local annotation is applied to the session bean class or local business interface to designate a * local interface of the bean. *

* When used on the bean class, declares the local business interface(s) for a session bean. When used on an interface, * designates that interface as a local business interface. In this case, no value element should be * provided. *

* The Local annotation applies only to session beans and their interfaces. *

* Use of the Local annotation is required when the bean class exposes one or more local business interface * and any of the following is true: *

    *
  • the bean class does not implement its business interfaces *
  • the bean exposes a no-interface view *
  • the bean class implements more than one interface and at least one of the interfaces is explicitly designated as * a business interface by using the Local or Remote annotation on the interface, or in the * deployment descriptor *
*

* The following interfaces are excluded when determining whether the bean class has business interfaces: * java.io.Serializable; java.io.Externalizable; any of the interfaces defined in * jakarta.ejb. * * @since EJB 3.0 */ @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) public @interface Local { /** * Specifies the local business interface(s) of the bean. The value element is specified only when the * annotation is applied to the bean class. It is only required to be specified if any of the following is true: *

    *
  • the bean class does not implement its local business interface *
  • at least one of the implemented interfaces is designated as a remote interface *
  • the bean class implements two or more interfaces and at least one of the implemented interfaces is designated as * local business interfaces using Local annotation on the interface, and at least one other interface * (excluding java.io.Serializable, java.io.Externalizable, and any of the interfaces defined * by the jakarta.ejb package) has no designation. *
* * @return an array of {@link java.lang.Class} objects. */ Class[] value() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy