org.apache.openejb.jee.EntityBean Maven / Gradle / Ivy
The newest version!
/**
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.openejb.jee;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* ejb-jar_3_1.xsd
*
* Java class for entity-beanType complex type.
*
* The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="entity-beanType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <group ref="{http://java.sun.com/xml/ns/javaee}descriptionGroup"/>
* <element name="ejb-name" type="{http://java.sun.com/xml/ns/javaee}ejb-nameType"/>
* <element name="mapped-name" type="{http://java.sun.com/xml/ns/javaee}xsdStringType" minOccurs="0"/>
* <element name="home" type="{http://java.sun.com/xml/ns/javaee}homeType" minOccurs="0"/>
* <element name="remote" type="{http://java.sun.com/xml/ns/javaee}remoteType" minOccurs="0"/>
* <element name="local-home" type="{http://java.sun.com/xml/ns/javaee}local-homeType" minOccurs="0"/>
* <element name="local" type="{http://java.sun.com/xml/ns/javaee}localType" minOccurs="0"/>
* <element name="ejb-class" type="{http://java.sun.com/xml/ns/javaee}ejb-classType"/>
* <element name="persistence-type" type="{http://java.sun.com/xml/ns/javaee}persistence-typeType"/>
* <element name="prim-key-class" type="{http://java.sun.com/xml/ns/javaee}fully-qualified-classType"/>
* <element name="reentrant" type="{http://java.sun.com/xml/ns/javaee}true-falseType"/>
* <element name="cmp-version" type="{http://java.sun.com/xml/ns/javaee}cmp-versionType" minOccurs="0"/>
* <element name="abstract-schema-name" type="{http://java.sun.com/xml/ns/javaee}java-identifierType" minOccurs="0"/>
* <element name="cmp-field" type="{http://java.sun.com/xml/ns/javaee}cmp-fieldType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="primkey-field" type="{http://java.sun.com/xml/ns/javaee}string" minOccurs="0"/>
* <group ref="{http://java.sun.com/xml/ns/javaee}jndiEnvironmentRefsGroup"/>
* <element name="security-role-ref" type="{http://java.sun.com/xml/ns/javaee}security-role-refType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="security-identity" type="{http://java.sun.com/xml/ns/javaee}security-identityType" minOccurs="0"/>
* <element name="query" type="{http://java.sun.com/xml/ns/javaee}queryType" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
* </restriction>
* </complexContent>
* </complexType>
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "entity-beanType", propOrder = {
"descriptions",
"displayNames",
"icon",
"ejbName",
"mappedName",
"home",
"remote",
"localHome",
"local",
"ejbClass",
"persistenceType",
"primKeyClass",
"reentrant",
"cmpVersion",
"abstractSchemaName",
"cmpField",
"primkeyField",
"envEntry",
"ejbRef",
"ejbLocalRef",
"serviceRef",
"resourceRef",
"resourceEnvRef",
"messageDestinationRef",
"persistenceContextRef",
"persistenceUnitRef",
"postConstruct",
"preDestroy",
"dataSource",
"securityRoleRef",
"securityIdentity",
"query"
})
public class EntityBean implements RemoteBean {
@XmlTransient
protected TextMap description = new TextMap();
@XmlTransient
protected TextMap displayName = new TextMap();
@XmlElement(name = "icon", required = true)
protected LocalCollection icon = new LocalCollection();
@XmlElement(name = "ejb-name", required = true)
protected String ejbName;
@XmlElement(name = "mapped-name")
protected String mappedName;
protected String home;
protected String remote;
@XmlElement(name = "local-home")
protected String localHome;
protected String local;
@XmlElement(name = "ejb-class", required = true)
protected String ejbClass;
@XmlElement(name = "persistence-type", required = true)
protected PersistenceType persistenceType;
@XmlElement(name = "prim-key-class", required = true)
protected String primKeyClass;
@XmlJavaTypeAdapter(type = boolean.class, value = BooleanAdapter.class)
@XmlElement(required = true)
protected boolean reentrant;
@XmlElement(name = "cmp-version", defaultValue = "2.x")
protected CmpVersion cmpVersion;
@XmlElement(name = "abstract-schema-name")
protected String abstractSchemaName;
@XmlElement(name = "cmp-field", required = true)
protected List cmpField;
@XmlElement(name = "primkey-field")
protected String primkeyField;
@XmlElement(name = "env-entry", required = true)
protected KeyedCollection envEntry;
@XmlElement(name = "ejb-ref", required = true)
protected KeyedCollection ejbRef;
@XmlElement(name = "ejb-local-ref", required = true)
protected KeyedCollection ejbLocalRef;
@XmlElement(name = "service-ref", required = true)
protected KeyedCollection serviceRef;
@XmlElement(name = "resource-ref", required = true)
protected KeyedCollection resourceRef;
@XmlElement(name = "resource-env-ref", required = true)
protected KeyedCollection resourceEnvRef;
@XmlElement(name = "message-destination-ref", required = true)
protected KeyedCollection messageDestinationRef;
@XmlElement(name = "persistence-context-ref", required = true)
protected KeyedCollection persistenceContextRef;
@XmlElement(name = "persistence-unit-ref", required = true)
protected KeyedCollection persistenceUnitRef;
@XmlElement(name = "post-construct", required = true)
protected List postConstruct;
@XmlElement(name = "pre-destroy", required = true)
protected List preDestroy;
@XmlElement(name = "data-source")
protected KeyedCollection dataSource;
@XmlElement(name = "security-role-ref", required = true)
protected List securityRoleRef;
@XmlElement(name = "security-identity")
protected SecurityIdentity securityIdentity;
@XmlElement(required = true)
protected List query;
@XmlAttribute
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
protected String id;
public EntityBean() {
final Set publicIds = JaxbJavaee.currentPublicId.get();
if (publicIds != null && publicIds.contains("-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN")) {
cmpVersion = CmpVersion.CMP1;
} else {
cmpVersion = CmpVersion.CMP2;
}
}
public EntityBean(final String ejbName, final String ejbClass, final PersistenceType persistenceType) {
this();
this.ejbName = ejbName;
this.ejbClass = ejbClass;
this.persistenceType = persistenceType;
}
public EntityBean(final Class> ejbClass, final PersistenceType persistenceType) {
this(ejbClass.getSimpleName(), ejbClass.getName(), persistenceType);
}
public String getJndiConsumerName() {
return ejbName;
}
@XmlElement(name = "description", required = true)
public Text[] getDescriptions() {
return description.toArray();
}
public void setDescriptions(final Text[] text) {
description.set(text);
}
public String getDescription() {
return description.get();
}
@XmlElement(name = "display-name", required = true)
public Text[] getDisplayNames() {
return displayName.toArray();
}
public void setDisplayNames(final Text[] text) {
displayName.set(text);
}
public String getDisplayName() {
return displayName.get();
}
public Collection getIcons() {
if (icon == null) {
icon = new LocalCollection();
}
return icon;
}
public Map getIconMap() {
if (icon == null) {
icon = new LocalCollection();
}
return icon.toMap();
}
public Icon getIcon() {
return icon.getLocal();
}
public String getEjbName() {
return ejbName;
}
/**
* The ejb-nameType specifies an enterprise bean's name. It is
* used by ejb-name elements. This name is assigned by the
* ejb-jar file producer to name the enterprise bean in the
* ejb-jar file's deployment descriptor. The name must be
* unique among the names of the enterprise beans in the same
* ejb-jar file.
*
* There is no architected relationship between the used
* ejb-name in the deployment descriptor and the JNDI name that
* the Deployer will assign to the enterprise bean's home.
*
* The name for an entity bean must conform to the lexical
* rules for an NMTOKEN.
*
* Example:
*
* EmployeeService
*/
public void setEjbName(final String value) {
this.ejbName = value;
}
public String getMappedName() {
return mappedName;
}
public void setMappedName(final String value) {
this.mappedName = value;
}
public String getHome() {
return home;
}
public void setHome(final String value) {
this.home = value;
}
public String getRemote() {
return remote;
}
public void setRemote(final String value) {
this.remote = value;
}
public String getLocalHome() {
return localHome;
}
public void setLocalHome(final String value) {
this.localHome = value;
}
public String getLocal() {
return local;
}
public void setLocal(final String value) {
this.local = value;
}
public String getEjbClass() {
return ejbClass;
}
public void setEjbClass(final String value) {
this.ejbClass = value;
}
public void setEjbClass(final Class value) {
this.ejbClass = value.getName();
}
public PersistenceType getPersistenceType() {
return persistenceType;
}
public void setPersistenceType(final PersistenceType value) {
this.persistenceType = value;
}
public String getPrimKeyClass() {
return primKeyClass;
}
public void setPrimKeyClass(final String value) {
this.primKeyClass = value;
}
public boolean getReentrant() {
return reentrant;
}
public void setReentrant(final boolean value) {
this.reentrant = value;
}
public CmpVersion getCmpVersion() {
return cmpVersion;
}
public void setCmpVersion(final CmpVersion value) {
this.cmpVersion = value;
}
public String getAbstractSchemaName() {
return abstractSchemaName;
}
public void setAbstractSchemaName(final String value) {
this.abstractSchemaName = value;
}
public List getCmpField() {
if (cmpField == null) {
cmpField = new ArrayList();
}
return this.cmpField;
}
public void addCmpField(final String fieldName) {
if (fieldName == null) return;
for (final CmpField field : cmpField) {
if (fieldName.equals(field.getFieldName())) return;
}
cmpField.add(new CmpField(fieldName));
}
public String getPrimkeyField() {
return primkeyField;
}
public void setPrimkeyField(final String value) {
this.primkeyField = value;
}
public Collection getEnvEntry() {
if (envEntry == null) {
envEntry = new KeyedCollection();
}
return this.envEntry;
}
public Map getEnvEntryMap() {
if (envEntry == null) {
envEntry = new KeyedCollection();
}
return this.envEntry.toMap();
}
public Collection getEjbRef() {
if (ejbRef == null) {
ejbRef = new KeyedCollection();
}
return this.ejbRef;
}
public Map getEjbRefMap() {
if (ejbRef == null) {
ejbRef = new KeyedCollection();
}
return this.ejbRef.toMap();
}
public Collection getEjbLocalRef() {
if (ejbLocalRef == null) {
ejbLocalRef = new KeyedCollection();
}
return this.ejbLocalRef;
}
public Map getEjbLocalRefMap() {
if (ejbLocalRef == null) {
ejbLocalRef = new KeyedCollection();
}
return this.ejbLocalRef.toMap();
}
public Collection getServiceRef() {
if (serviceRef == null) {
serviceRef = new KeyedCollection();
}
return this.serviceRef;
}
public Map getServiceRefMap() {
if (serviceRef == null) {
serviceRef = new KeyedCollection();
}
return this.serviceRef.toMap();
}
public Collection getResourceRef() {
if (resourceRef == null) {
resourceRef = new KeyedCollection();
}
return this.resourceRef;
}
public Map getResourceRefMap() {
if (resourceRef == null) {
resourceRef = new KeyedCollection();
}
return this.resourceRef.toMap();
}
public Collection getResourceEnvRef() {
if (resourceEnvRef == null) {
resourceEnvRef = new KeyedCollection();
}
return this.resourceEnvRef;
}
public Map getResourceEnvRefMap() {
if (resourceEnvRef == null) {
resourceEnvRef = new KeyedCollection();
}
return this.resourceEnvRef.toMap();
}
public Collection getMessageDestinationRef() {
if (messageDestinationRef == null) {
messageDestinationRef = new KeyedCollection();
}
return this.messageDestinationRef;
}
public Map getMessageDestinationRefMap() {
if (messageDestinationRef == null) {
messageDestinationRef = new KeyedCollection();
}
return this.messageDestinationRef.toMap();
}
public Collection getPersistenceContextRef() {
if (persistenceContextRef == null) {
persistenceContextRef = new KeyedCollection();
}
return this.persistenceContextRef;
}
public Map getPersistenceContextRefMap() {
if (persistenceContextRef == null) {
persistenceContextRef = new KeyedCollection();
}
return this.persistenceContextRef.toMap();
}
public Collection getPersistenceUnitRef() {
if (persistenceUnitRef == null) {
persistenceUnitRef = new KeyedCollection();
}
return this.persistenceUnitRef;
}
public Map getPersistenceUnitRefMap() {
if (persistenceUnitRef == null) {
persistenceUnitRef = new KeyedCollection();
}
return this.persistenceUnitRef.toMap();
}
public List getPostConstruct() {
if (postConstruct == null) {
postConstruct = new ArrayList();
}
return this.postConstruct;
}
public void addPostConstruct(final String method) {
assert ejbClass != null : "Set the ejbClass before calling this method";
getPostConstruct().add(new LifecycleCallback(ejbClass, method));
}
public List getPreDestroy() {
if (preDestroy == null) {
preDestroy = new ArrayList();
}
return this.preDestroy;
}
public void addPreDestroy(final String method) {
assert ejbClass != null : "Set the ejbClass before calling this method";
getPreDestroy().add(new LifecycleCallback(ejbClass, method));
}
public Collection getDataSource() {
if (dataSource == null) {
dataSource = new KeyedCollection();
}
return this.dataSource;
}
public Map getDataSourceMap() {
if (dataSource == null) {
dataSource = new KeyedCollection();
}
return this.dataSource.toMap();
}
public List getSecurityRoleRef() {
if (securityRoleRef == null) {
securityRoleRef = new ArrayList();
}
return this.securityRoleRef;
}
public Collection getBusinessLocal() {
return Collections.emptySet();
}
public Collection getBusinessRemote() {
return Collections.emptySet();
}
public SecurityIdentity getSecurityIdentity() {
return securityIdentity;
}
public void setSecurityIdentity(final SecurityIdentity value) {
this.securityIdentity = value;
}
public List getQuery() {
if (query == null) {
query = new ArrayList();
}
return this.query;
}
public String getId() {
return id;
}
public void setId(final String value) {
this.id = value;
}
public TransactionType getTransactionType() {
return TransactionType.CONTAINER;
}
public void setTransactionType(final TransactionType type) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy