001 /* 002 * Copyright (c) 2007 Henri Sivonen 003 * 004 * Permission is hereby granted, free of charge, to any person obtaining a 005 * copy of this software and associated documentation files (the "Software"), 006 * to deal in the Software without restriction, including without limitation 007 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 008 * and/or sell copies of the Software, and to permit persons to whom the 009 * Software is furnished to do so, subject to the following conditions: 010 * 011 * The above copyright notice and this permission notice shall be included in 012 * all copies or substantial portions of the Software. 013 * 014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 015 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 016 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 017 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 018 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 019 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 020 * DEALINGS IN THE SOFTWARE. 021 */ 022 023 package nu.validator.htmlparser.xom; 024 025 import nu.xom.Element; 026 027 /** 028 * Element with an associated form. 029 * 030 * @version $Id$ 031 * @author hsivonen 032 */ 033 public class FormPtrElement extends Element implements FormPointer { 034 035 private Element form = null; 036 037 /** 038 * Copy constructor (<code>FormPointer</code>-aware). 039 * @param elt 040 */ 041 public FormPtrElement(Element elt) { 042 super(elt); 043 if (elt instanceof FormPointer) { 044 FormPointer other = (FormPointer) elt; 045 this.setForm(other.getForm()); 046 } 047 } 048 049 /** 050 * Null form. 051 * 052 * @param name 053 * @param uri 054 */ 055 public FormPtrElement(String name, String uri) { 056 super(name, uri); 057 } 058 059 /** 060 * Full constructor. 061 * 062 * @param name 063 * @param uri 064 * @param form 065 */ 066 public FormPtrElement(String name, String uri, Element form) { 067 super(name, uri); 068 this.form = form; 069 } 070 071 /** 072 * Gets the form. 073 * @see nu.validator.htmlparser.xom.FormPointer#getForm() 074 */ 075 public Element getForm() { 076 return form; 077 } 078 079 /** 080 * Sets the form. 081 * @see nu.validator.htmlparser.xom.FormPointer#setForm(nu.xom.Element) 082 */ 083 public void setForm(Element form) { 084 this.form = form; 085 } 086 087 }