001/**********************************************
002 * Copyright (C) 2010 Lukas Laag
003 * This file is part of lib-gwt-svg.
004 * 
005 * libgwtsvg is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Lesser General Public License as published by
007 * the Free Software Foundation, either version 3 of the License, or
008 * (at your option) any later version.
009 * 
010 * libgwtsvg is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public License
016 * along with libgwtsvg.  If not, see http://www.gnu.org/licenses/
017 **********************************************/
018/*
019 * Copyright (c) 2004 World Wide Web Consortium,
020 *
021 * (Massachusetts Institute of Technology, European Research Consortium for
022 * Informatics and Mathematics, Keio University). All Rights Reserved. This
023 * work is distributed under the W3C(r) Software License [1] in the hope that
024 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
025 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
026 *
027 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
028 */
029
030package org.vectomatic.dom.svg.itf;
031
032import org.vectomatic.dom.svg.OMSVGStringList;
033
034  /**
035   * Interface {@link org.vectomatic.dom.svg.itf.ISVGTests} defines an interface
036   * which applies to all elements which have attributes {@link org.vectomatic.dom.svg.itf.ISVGTests#getRequiredFeatures()},
037   * {@link org.vectomatic.dom.svg.itf.ISVGTests#getRequiredExtensions()} and
038   * {@link org.vectomatic.dom.svg.itf.ISVGTests#getSystemLanguage()}.
039   */
040public interface ISVGTests {
041  /**
042   * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGTests#getRequiredFeatures()}
043   * on the given element.
044   */
045  public OMSVGStringList getRequiredFeatures();
046  /**
047   * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGTests#getRequiredExtensions()}
048   * on the given element.
049   */
050  public OMSVGStringList getRequiredExtensions();
051  /**
052   * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGTests#getSystemLanguage()}
053   * on the given element.
054   */
055  public OMSVGStringList getSystemLanguage();
056  /**
057   * Returns true if the user agent supports the given extension, specified
058   * by a URI.
059   * @param extension The name of the extension, expressed as a URI.
060   * @return True or false, depending on whether the given extension is   supported.
061   */
062  public boolean hasExtension(String extension);
063}