/*******************************************************************************
* 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.
*
*******************************************************************************/
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1.1-b02-fcs
// 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: 2008.12.08 at 12:06:38 PM IST
//
package org.apache.wink.webdav.model;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
* The <code>source</code> Property per the WebDAV specification [RFC 4918]
*
* <pre>
* Name: source
* Namespace: DAV:
* Purpose: The destination of the source link identifies the
* resource that contains the unprocessed source of the link's source.
* Description: The source of the link (src) is typically the URI of the
* output resource on which the link is defined, and there is typically
* only one destination (dst) of the link, which is the URI where the
* unprocessed source of the resource may be accessed. When more than
* one link destination exists, this specification asserts no policy on
* ordering.
*
* <!ELEMENT source (link)* >
*
* Example - A source Property
*
* <?xml version="1.0" encoding="utf-8" ?>
* <D:prop xmlns:D="DAV:" xmlns:F="http://www.foocorp.com/Project/">
* <D:source>
* <D:link>
* <F:projfiles>Source</F:projfiles>
* <D:src>http://foo.bar/program</D:src>
* <D:dst>http://foo.bar/src/main.c</D:dst>
* </D:link>
* <D:link>
* <F:projfiles>Library</F:projfiles>
* <D:src>http://foo.bar/program</D:src>
* <D:dst>http://foo.bar/src/main.lib</D:dst>
* </D:link>
* <D:link>
* <F:projfiles>Makefile</F:projfiles>
* <D:src>http://foo.bar/program</D:src>
* <D:dst>http://foo.bar/src/makefile</D:dst>
* </D:link>
* </D:source>
* </D:prop>
*
* In this example the resource http://foo.bar/program has a source
* property that contains three links. Each link contains three
* elements, two of which, src and dst, are part of the DAV schema
* defined in this document, and one which is defined by the schema
* http://www.foocorp.com/project/ (Source, Library, and Makefile). A
* client which only implements the elements in the DAV spec will not
* understand the foocorp elements and will ignore them, thus seeing the
* expected source and destination links. An enhanced client may know
* about the foocorp elements and be able to present the user with
* additional information about the links. This example demonstrates
* the power of XML markup, allowing element values to be enhanced
* without breaking older clients.
*
* </pre>
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"link"})
@XmlRootElement(name = "source")
public class Source {
protected List<Link> link;
/**
* Gets the value of the link property.
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the link property.
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getLink().add(newItem);
* </pre>
* <p>
* Objects of the following type(s) are allowed in the list {@link Link }
*/
public List<Link> getLink() {
if (link == null) {
link = new ArrayList<Link>();
}
return this.link;
}
}