
package net.brutex.xservices.types.alfevent;

import jakarta.xml.bind.JAXBElement;
import jakarta.xml.bind.annotation.XmlElementDecl;
import jakarta.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the net.brutex.xservices.types.alfevent package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _ALFEventNoticeDoc_QNAME = new QName("http://www.eclipse.org/alf/schema/EventBase/1", "ALFEventNoticeDoc");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: net.brutex.xservices.types.alfevent
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link ALFSecurityType }
     * 
     */
    public ALFSecurityType createALFSecurityType() {
        return new ALFSecurityType();
    }

    /**
     * Create an instance of {@link ALFEventType }
     * 
     */
    public ALFEventType createALFEventType() {
        return new ALFEventType();
    }

    /**
     * Create an instance of {@link DetailExtensionType }
     * 
     */
    public DetailExtensionType createDetailExtensionType() {
        return new DetailExtensionType();
    }

    /**
     * Create an instance of {@link CustomExtensionType }
     * 
     */
    public CustomExtensionType createCustomExtensionType() {
        return new CustomExtensionType();
    }

    /**
     * Create an instance of {@link CredentialsType }
     * 
     */
    public CredentialsType createCredentialsType() {
        return new CredentialsType();
    }

    /**
     * Create an instance of {@link SourceType }
     * 
     */
    public SourceType createSourceType() {
        return new SourceType();
    }

    /**
     * Create an instance of {@link BaseExtensionType }
     * 
     */
    public BaseExtensionType createBaseExtensionType() {
        return new BaseExtensionType();
    }

    /**
     * Create an instance of {@link EmExtensionType }
     * 
     */
    public EmExtensionType createEmExtensionType() {
        return new EmExtensionType();
    }

    /**
     * Create an instance of {@link ALFEventWithReplyResponseType }
     * 
     */
    public ALFEventWithReplyResponseType createALFEventWithReplyResponseType() {
        return new ALFEventWithReplyResponseType();
    }

    /**
     * Create an instance of {@link EventBaseType }
     * 
     */
    public EventBaseType createEventBaseType() {
        return new EventBaseType();
    }

    /**
     * Create an instance of {@link ALFEventResponseType }
     * 
     */
    public ALFEventResponseType createALFEventResponseType() {
        return new ALFEventResponseType();
    }

    /**
     * Create an instance of {@link EmBaseType }
     * 
     */
    public EmBaseType createEmBaseType() {
        return new EmBaseType();
    }

    /**
     * Create an instance of {@link ALFSecurityType.UsernameToken }
     * 
     */
    public ALFSecurityType.UsernameToken createALFSecurityTypeUsernameToken() {
        return new ALFSecurityType.UsernameToken();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ALFEventType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://www.eclipse.org/alf/schema/EventBase/1", name = "ALFEventNoticeDoc")
    public JAXBElement<ALFEventType> createALFEventNoticeDoc(ALFEventType value) {
        return new JAXBElement<ALFEventType>(_ALFEventNoticeDoc_QNAME, ALFEventType.class, null, value);
    }

}
