/*
 * Copyright 2014 JBoss Inc
 *
 * Licensed 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.
 */
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
// 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: 2015.04.07 at 04:43:56 PM EDT 
//


package org.oasis_open.docs.s_ramp.ns.s_ramp_v1;

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


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the org.oasis_open.docs.s_ramp.ns.s_ramp_v1 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 _RelationshipType_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "relationshipType");
    private final static QName _CreatedBy_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "createdBy");
    private final static QName _QueryExpression_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "queryExpression");
    private final static QName _ClassifiedBy_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "classifiedBy");
    private final static QName _TargetId_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "targetId");
    private final static QName _DerivedArtifactType_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "DerivedArtifactType");
    private final static QName _SourceId_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "sourceId");
    private final static QName _PropertyName_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "propertyName");
    private final static QName _Text_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "text");
    private final static QName _CreatedTimestamp_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "createdTimestamp");
    private final static QName _PropertyValue_QNAME = new QName("http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", "propertyValue");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.oasis_open.docs.s_ramp.ns.s_ramp_v1
     * 
     */
    public ObjectFactory() {
    }

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "relationshipType")
    public JAXBElement<String> createRelationshipType(String value) {
        return new JAXBElement<String>(_RelationshipType_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "createdBy")
    public JAXBElement<String> createCreatedBy(String value) {
        return new JAXBElement<String>(_CreatedBy_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "queryExpression")
    public JAXBElement<String> createQueryExpression(String value) {
        return new JAXBElement<String>(_QueryExpression_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "classifiedBy")
    public JAXBElement<String> createClassifiedBy(String value) {
        return new JAXBElement<String>(_ClassifiedBy_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "targetId")
    public JAXBElement<String> createTargetId(String value) {
        return new JAXBElement<String>(_TargetId_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link DerivedArtifactType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "DerivedArtifactType")
    public JAXBElement<DerivedArtifactType> createDerivedArtifactType(DerivedArtifactType value) {
        return new JAXBElement<DerivedArtifactType>(_DerivedArtifactType_QNAME, DerivedArtifactType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "sourceId")
    public JAXBElement<String> createSourceId(String value) {
        return new JAXBElement<String>(_SourceId_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "propertyName")
    public JAXBElement<String> createPropertyName(String value) {
        return new JAXBElement<String>(_PropertyName_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "text")
    public JAXBElement<String> createText(String value) {
        return new JAXBElement<String>(_Text_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "createdTimestamp")
    public JAXBElement<XMLGregorianCalendar> createCreatedTimestamp(XMLGregorianCalendar value) {
        return new JAXBElement<XMLGregorianCalendar>(_CreatedTimestamp_QNAME, XMLGregorianCalendar.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://docs.oasis-open.org/s-ramp/ns/s-ramp-v1.0", name = "propertyValue")
    public JAXBElement<String> createPropertyValue(String value) {
        return new JAXBElement<String>(_PropertyValue_QNAME, String.class, null, value);
    }

}
