/**
 * 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.jpa;

import javax.xml.bind.annotation.XmlRegistry;


/**
 * This object contains factory methods for each
 * Java content interface and Java element interface
 * generated in the org.apache.openejb.jee.jpa 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 {


    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.apache.openejb.jee.jpa
     */
    public ObjectFactory() {
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}
