1 // Jericho HTML Parser - Java based library for analysing and manipulating HTML
2 // Version 3.2
3 // Copyright (C) 2004-2009 Martin Jericho
4 // http://jericho.htmlparser.net/
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of either one of the following licences:
8 //
9 // 1. The Eclipse Public License (EPL) version 1.0,
10 // included in this distribution in the file licence-epl-1.0.html
11 // or available at http://www.eclipse.org/legal/epl-v10.html
12 //
13 // 2. The GNU Lesser General Public License (LGPL) version 2.1 or later,
14 // included in this distribution in the file licence-lgpl-2.1.txt
15 // or available at http://www.gnu.org/licenses/lgpl.txt
16 //
17 // This library is distributed on an "AS IS" basis,
18 // WITHOUT WARRANTY OF ANY KIND, either express or implied.
19 // See the individual licence texts for more details.
20 
21 package net.htmlparser.jericho;
22 
23 final class EndTagTypeUnregistered extends EndTagType {
24 	static final EndTagTypeUnregistered INSTANCE=new EndTagTypeUnregistered();
25 
EndTagTypeUnregistered()26 	private EndTagTypeUnregistered() {
27 		super("/unregistered",START_DELIMITER_PREFIX,">",false);
28 	}
29 
constructTagAt(final Source source, final int pos)30 	protected Tag constructTagAt(final Source source, final int pos) {
31 		final ParseText parseText=source.getParseText();
32 		final int nameBegin=pos+getStartDelimiter().length();
33 		final int nameEnd=parseText.indexOf(getClosingDelimiter(),nameBegin);
34 		final String name=source.getName(nameBegin,nameEnd); // throws IndexOutOfBoundsException if nameEnd==-1
35 		final EndTag endTag=constructEndTag(source,pos,nameEnd+getClosingDelimiter().length(),name);
36 		if (source.logger.isInfoEnabled()) source.logger.info(source.getRowColumnVector(pos).appendTo(new StringBuilder(200).append("Encountered possible EndTag at ")).append(" whose content does not match a registered EndTagType").toString());
37 		return endTag;
38 	}
39 }
40