//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2017.08.14 at 02:41:51 AM NZST 
//


package shared.xml.Race;

import javax.xml.bind.annotation.XmlRegistry;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the shared.xml.Race 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 XMLRaceFactory {


    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: shared.xml.Race
     * 
     */
    public XMLRaceFactory() {
    }

    /**
     * Create an instance of {@link XMLRace }
     * @return a new instance of a race.
     */
    public XMLRace createRace() {
        return new XMLRace();
    }

    /**
     * Create an instance of {@link XMLRaceStartTime }
     * @return a new start time for the race
     */
    public XMLRaceStartTime createXMLRaceStartTime() {
        return new XMLRaceStartTime();
    }

    /**
     * Create an instance of {@link XMLParticipants }
     * @return a new participant of the race
     */
    public XMLParticipants createXMLParticipants() {
        return new XMLParticipants();
    }

    /**
     * Create an instance of {@link XMLCompoundMarkSequence }
     * @return a new Compound Mark Sequence that hte race is to follow.
     */
    public XMLCompoundMarkSequence createXMLCompoundMarkSequence() {
        return new XMLCompoundMarkSequence();
    }

    /**
     * Create an instance of {@link XMLCourse }
     * @return the course the race is to use.
     */
    public XMLCourse createXMLCourse() {
        return new XMLCourse();
    }

    /**
     * Create an instance of {@link XMLCourseLimit }
     * @return the limits/boundaries of the course.
     */
    public XMLCourseLimit createXMLCourseLimit() {
        return new XMLCourseLimit();
    }

    /**
     * Create an instance of {@link XMLLimit }
     * @return a point on hte boundaries
     */
    public XMLLimit createXMLLimit() {
        return new XMLLimit();
    }

    /**
     * Create an instance of {@link XMLCompoundMark }
     * @return a compound mark (made out of multiple marks)
     */
    public XMLCompoundMark createXMLCompoundMark() {
        return new XMLCompoundMark();
    }

    /**
     * Create an instance of {@link XMLMark }
     * @return a mark
     */
    public XMLMark createXMLMark() {
        return new XMLMark();
    }

    /**
     * Create an instance of {@link XMLCorner }
     * @return a corner of a compound mark sequence
     */
    public XMLCorner createXMLCorner() {
        return new XMLCorner();
    }

    /**
     * Create an instance of {@link XMLYacht }
     * @return creates a new Yacht.
     */
    public XMLYacht createXMLYacht() {
        return new XMLYacht();
    }

}
