package org.oasis_open.docs.ns.cmis.messaging._200908;

import java.math.BigInteger;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.oasis_open.docs.ns.cmis.core._200908.EnumRelationshipDirection;

/**
 * <p>
 * Java class for anonymous complex type.
 * 
 * <p>
 * The following schema fragment specifies the expected content contained within
 * this class.
 * 
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="objectId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="includeSubRelationshipTypes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="relationshipDirection" type="{http://docs.oasis-open.org/ns/cmis/core/200908/}enumRelationshipDirection" minOccurs="0"/>
 *         &lt;element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="maxItems" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
 *         &lt;element name="skipCount" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
 *         &lt;element name="extension" type="{http://docs.oasis-open.org/ns/cmis/messaging/200908/}cmisExtensionType" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "repositoryId", "objectId",
		"includeSubRelationshipTypes", "relationshipDirection", "typeId",
		"filter", "includeAllowableActions", "maxItems", "skipCount",
		"extension" })
@XmlRootElement(name = "getObjectRelationships")
public class GetObjectRelationships {

	@XmlElement(required = true)
	protected String repositoryId;
	@XmlElement(required = true)
	protected String objectId;
	protected Boolean includeSubRelationshipTypes;
	@XmlElementRef(name = "relationshipDirection", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<EnumRelationshipDirection> relationshipDirection;
	@XmlElementRef(name = "typeId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<String> typeId;
	@XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<String> filter;
	@XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<Boolean> includeAllowableActions;
	@XmlElementRef(name = "maxItems", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<BigInteger> maxItems;
	@XmlElementRef(name = "skipCount", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<BigInteger> skipCount;
	@XmlElementRef(name = "extension", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200908/", type = JAXBElement.class, required = false)
	protected JAXBElement<CmisExtensionType> extension;

	/**
	 * Gets the value of the repositoryId property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getRepositoryId() {
		return repositoryId;
	}

	/**
	 * Sets the value of the repositoryId property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setRepositoryId(String value) {
		this.repositoryId = value;
	}

	/**
	 * Gets the value of the objectId property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getObjectId() {
		return objectId;
	}

	/**
	 * Sets the value of the objectId property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setObjectId(String value) {
		this.objectId = value;
	}

	/**
	 * Gets the value of the includeSubRelationshipTypes property.
	 * 
	 * @return possible object is {@link Boolean }
	 * 
	 */
	public Boolean isIncludeSubRelationshipTypes() {
		return includeSubRelationshipTypes;
	}

	/**
	 * Sets the value of the includeSubRelationshipTypes property.
	 * 
	 * @param value
	 *            allowed object is {@link Boolean }
	 * 
	 */
	public void setIncludeSubRelationshipTypes(Boolean value) {
		this.includeSubRelationshipTypes = value;
	}

	/**
	 * Gets the value of the relationshipDirection property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}
	 *         {@link EnumRelationshipDirection }{@code >}
	 * 
	 */
	public JAXBElement<EnumRelationshipDirection> getRelationshipDirection() {
		return relationshipDirection;
	}

	/**
	 * Sets the value of the relationshipDirection property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}
	 *            {@link EnumRelationshipDirection }{@code >}
	 * 
	 */
	public void setRelationshipDirection(
			JAXBElement<EnumRelationshipDirection> value) {
		this.relationshipDirection = value;
	}

	/**
	 * Gets the value of the typeId property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}{@link String }
	 *         {@code >}
	 * 
	 */
	public JAXBElement<String> getTypeId() {
		return typeId;
	}

	/**
	 * Sets the value of the typeId property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}{@link String }
	 *            {@code >}
	 * 
	 */
	public void setTypeId(JAXBElement<String> value) {
		this.typeId = value;
	}

	/**
	 * Gets the value of the filter property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}{@link String }
	 *         {@code >}
	 * 
	 */
	public JAXBElement<String> getFilter() {
		return filter;
	}

	/**
	 * Sets the value of the filter property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}{@link String }
	 *            {@code >}
	 * 
	 */
	public void setFilter(JAXBElement<String> value) {
		this.filter = value;
	}

	/**
	 * Gets the value of the includeAllowableActions property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}{@link Boolean }
	 *         {@code >}
	 * 
	 */
	public JAXBElement<Boolean> getIncludeAllowableActions() {
		return includeAllowableActions;
	}

	/**
	 * Sets the value of the includeAllowableActions property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}{@link Boolean }
	 *            {@code >}
	 * 
	 */
	public void setIncludeAllowableActions(JAXBElement<Boolean> value) {
		this.includeAllowableActions = value;
	}

	/**
	 * Gets the value of the maxItems property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}{@link BigInteger }
	 *         {@code >}
	 * 
	 */
	public JAXBElement<BigInteger> getMaxItems() {
		return maxItems;
	}

	/**
	 * Sets the value of the maxItems property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}
	 *            {@link BigInteger }{@code >}
	 * 
	 */
	public void setMaxItems(JAXBElement<BigInteger> value) {
		this.maxItems = value;
	}

	/**
	 * Gets the value of the skipCount property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}{@link BigInteger }
	 *         {@code >}
	 * 
	 */
	public JAXBElement<BigInteger> getSkipCount() {
		return skipCount;
	}

	/**
	 * Sets the value of the skipCount property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}
	 *            {@link BigInteger }{@code >}
	 * 
	 */
	public void setSkipCount(JAXBElement<BigInteger> value) {
		this.skipCount = value;
	}

	/**
	 * Gets the value of the extension property.
	 * 
	 * @return possible object is {@link JAXBElement }{@code <}
	 *         {@link CmisExtensionType }{@code >}
	 * 
	 */
	public JAXBElement<CmisExtensionType> getExtension() {
		return extension;
	}

	/**
	 * Sets the value of the extension property.
	 * 
	 * @param value
	 *            allowed object is {@link JAXBElement }{@code <}
	 *            {@link CmisExtensionType }{@code >}
	 * 
	 */
	public void setExtension(JAXBElement<CmisExtensionType> value) {
		this.extension = value;
	}

}
