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

org.apache.openejb.jee.ApplicationClient 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.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Collection;
import java.util.Map;

@XmlRootElement(name = "application-client")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "application-clientType", propOrder = {
        "descriptions",
        "displayNames",
        "icon",
        "envEntry",
        "ejbRef",
        "ejbLocalRef",
        "serviceRef",
        "resourceRef",
        "resourceEnvRef",
        "messageDestinationRef",
        "persistenceContextRef",
        "persistenceUnitRef",
        "postConstruct",
        "preDestroy",
        "callbackHandler",
        "messageDestination"
})
public class ApplicationClient implements JndiConsumer {

    @XmlTransient
    protected TextMap description = new TextMap();
    @XmlTransient
    protected TextMap displayName = new TextMap();
    @XmlElement(name = "icon", required = true)
    protected LocalCollection icon = new LocalCollection();

    @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 = "callback-handler")
    protected String callbackHandler;
    @XmlElement(name = "message-destination", required = true)
    protected KeyedCollection messageDestination;


    @XmlAttribute
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlID
    protected String id;
    @XmlAttribute(name = "metadata-complete")
    protected Boolean metadataComplete;
    @XmlAttribute(required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String version;

    @XmlTransient
    protected String mainClass;

    public ApplicationClient() {
    }


    public String getJndiConsumerName() {
        if (mainClass == null) {
            return null;
        }
        return mainClass.replaceAll(".*\\.","");
    }

    @XmlElement(name = "description", required = true)
    public Text[] getDescriptions() {
        return description.toArray();
    }

    public void setDescriptions(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(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 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 List getPreDestroy() {
        if (preDestroy == null) {
            preDestroy = new ArrayList();
        }
        return this.preDestroy;
    }

    public void addPostConstruct(String method) {
        assert mainClass != null: "Set the mainClass before calling this method";
        getPostConstruct().add(new LifecycleCallback(mainClass, method));
    }

    public void addPreDestroy(String method) {
        assert mainClass != null: "Set the mainClass before calling this method";
        getPreDestroy().add(new LifecycleCallback(mainClass, method));
    }

    public String getCallbackHandler() {
        return callbackHandler;
    }

    public void setCallbackHandler(String callbackHandler) {
        this.callbackHandler = callbackHandler;
    }

    public Collection getMessageDestination() {
        if (messageDestination == null) {
            messageDestination = new KeyedCollection();
        }
        return this.messageDestination;
    }

    public String getId() {
        return id;
    }

    public void setId(String value) {
        this.id = value;
    }

    public Boolean isMetadataComplete() {
        return metadataComplete != null && metadataComplete;
    }

    public void setMetadataComplete(Boolean value) {
        this.metadataComplete = value;
    }

    public String getVersion() {
        if (version == null) {
            return "5";
        } else {
            return version;
        }
    }

    public void setVersion(String value) {
        this.version = value;
    }

    public String getMainClass() {
        return mainClass;
    }

    public void setMainClass(String mainClass) {
        this.mainClass = mainClass;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy