View Javadoc

1   /**********************************************
2    * Copyright (C) 2010 Lukas Laag
3    * This file is part of lib-gwt-svg.
4    * 
5    * libgwtsvg is free software: you can redistribute it and/or modify
6    * it under the terms of the GNU Lesser General Public License as published by
7    * the Free Software Foundation, either version 3 of the License, or
8    * (at your option) any later version.
9    * 
10   * libgwtsvg is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU Lesser General Public License for more details.
14   * 
15   * You should have received a copy of the GNU Lesser General Public License
16   * along with libgwtsvg.  If not, see http://www.gnu.org/licenses/
17   **********************************************/
18  /*
19   * Copyright (c) 2004 World Wide Web Consortium,
20   *
21   * (Massachusetts Institute of Technology, European Research Consortium for
22   * Informatics and Mathematics, Keio University). All Rights Reserved. This
23   * work is distributed under the W3C(r) Software License [1] in the hope that
24   * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
25   * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
26   *
27   * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
28   */
29  
30  package org.vectomatic.dom.svg.itf;
31  
32  import org.vectomatic.dom.svg.OMSVGDocument;
33  
34    /**
35     * <p>This interface provides access to an SVG document embedded by reference
36     * in another DOM-based language. The expectation is that the interface is
37     * implemented on DOM objects that allow such SVG document references, such
38     * as the DOM {@link org.vectomatic.dom.svg.OMElement} object that corresponds
39     * to an HTML <span class='element-name'>'object'</span> element. Such DOM
40     * objects are often also required to implement the <code>EmbeddingElement</code>
41     * defined in the Window specification [<a href="refs.html#ref-WINDOW">WINDOW</a>].</p>
42     * <p>This interface is deprecated and may be dropped from future versions
43     * of the SVG specification. Authors are suggested to use the <code>contentDocument</code>
44     * attribute on the <code>EmbeddingElement</code> interface to obtain a referenced
45     * SVG document, if that interface is available.</p>
46     */
47  public interface IGetSVGDocument {
48    /**
49     * <p> This method must return the {@link org.vectomatic.dom.svg.OMDocument}
50     * object embedded content in an embedding element, or null if there is no
51     * document.</p> <p>Note that this is equivalent to fetching the value of
52     * the <code>EmbeddingElement::contentDocument</code> attribute of the embedding
53     * element, if the <code>EmbeddingElement</code> interface is also implemented.
54     * The author is advised to check that the document element of the returned
55     * {@link org.vectomatic.dom.svg.OMDocument} is indeed an <a href='http://www.w3.org/TR/SVG11/struct.html#SVGElement'
56     * title='svg element specification'>svg</a> element instead of assuming that
57     * that will always be the case.</p>
58     * @return The {@link org.vectomatic.dom.svg.OMDocument} object for the referenced
59     * document, or null   if there is no document.
60     */
61    public OMSVGDocument getSVGDocument();
62  }