• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!--NewPage-->
3<HTML>
4<HEAD>
5<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
6<TITLE>
7HtmlChangeReporter (OWASP Java HTML Sanitizer)
8</TITLE>
9
10
11<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
12
13<SCRIPT type="text/javascript">
14function windowTitle()
15{
16    if (location.href.indexOf('is-external=true') == -1) {
17        parent.document.title="HtmlChangeReporter (OWASP Java HTML Sanitizer)";
18    }
19}
20</SCRIPT>
21<NOSCRIPT>
22</NOSCRIPT>
23
24</HEAD>
25
26<BODY BGCOLOR="white" onload="windowTitle();">
27<HR>
28
29
30<!-- ========= START OF TOP NAVBAR ======= -->
31<A NAME="navbar_top"><!-- --></A>
32<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
33<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
34<TR>
35<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
36<A NAME="navbar_top_firstrow"><!-- --></A>
37<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
38  <TR ALIGN="center" VALIGN="top">
39  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
40  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
41  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
42  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HtmlChangeReporter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
43  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
45  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
46  </TR>
47</TABLE>
48</TD>
49<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
50<a href="http://code.google.com/p/owasp-java-html-sanitizer" target=_top>code.google.com home</a></EM>
51</TD>
52</TR>
53
54<TR>
55<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
56&nbsp;<A HREF="../../../org/owasp/html/HtmlChangeListener.html" title="interface in org.owasp.html"><B>PREV CLASS</B></A>&nbsp;
57&nbsp;<A HREF="../../../org/owasp/html/HtmlPolicyBuilder.html" title="class in org.owasp.html"><B>NEXT CLASS</B></A></FONT></TD>
58<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
59  <A HREF="../../../index.html?org/owasp/html/HtmlChangeReporter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
60&nbsp;<A HREF="HtmlChangeReporter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
61&nbsp;<SCRIPT type="text/javascript">
62  <!--
63  if(window==top) {
64    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
65  }
66  //-->
67</SCRIPT>
68<NOSCRIPT>
69  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
70</NOSCRIPT>
71
72
73</FONT></TD>
74</TR>
75<TR>
76<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
77  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
78<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
79DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
80</TR>
81</TABLE>
82<A NAME="skip-navbar_top"></A>
83<!-- ========= END OF TOP NAVBAR ========= -->
84
85<HR>
86<!-- ======== START OF CLASS DATA ======== -->
87<H2>
88<FONT SIZE="-1">
89org.owasp.html</FONT>
90<BR>
91Class HtmlChangeReporter&lt;T&gt;</H2>
92<PRE>
93java.lang.Object
94  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.owasp.html.HtmlChangeReporter&lt;T&gt;</B>
95</PRE>
96<DL>
97<DT><DT><B>Type Parameters:</B><DD><CODE>T</CODE> - The type of context value passed to the</DL>
98<HR>
99<DL>
100<DT><PRE>public final class <A HREF="../../../src-html/org/owasp/html/HtmlChangeReporter.html#line.54"><B>HtmlChangeReporter&lt;T&gt;</B></A><DT>extends java.lang.Object</DL>
101</PRE>
102
103<P>
104Sits between the HTML parser, and then policy, and the renderer so that it
105 can report dropped elements and attributes to an <A HREF="../../../org/owasp/html/HtmlChangeListener.html" title="interface in org.owasp.html"><CODE>HtmlChangeListener</CODE></A>.
106
107 <pre>
108 HtmlChangeReporter&lt;T&gt; hcr = new HtmlChangeReporter&lt;T&gt;(
109   renderer, htmlChangeListener, context);
110 hcr.setPolicy(policyFactory.apply(hcr.getWrappedRenderer()));
111 HtmlSanitizer.sanitize(html, hcr.getWrappedPolicy());
112 </pre>
113
114 The renderer receives events from the policy unchanged, but the reporter
115 notices differences between the events from the lexer and those from the
116 policy.
117<P>
118
119<P>
120<HR>
121
122<P>
123
124<!-- ======== CONSTRUCTOR SUMMARY ======== -->
125
126<A NAME="constructor_summary"><!-- --></A>
127<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
128<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
129<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
130<B>Constructor Summary</B></FONT></TH>
131</TR>
132<TR BGCOLOR="white" CLASS="TableRowColor">
133<TD><CODE><B><A HREF="../../../org/owasp/html/HtmlChangeReporter.html#HtmlChangeReporter(org.owasp.html.HtmlStreamEventReceiver, org.owasp.html.HtmlChangeListener, T)">HtmlChangeReporter</A></B>(<A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A>&nbsp;renderer,
134                                     <A HREF="../../../org/owasp/html/HtmlChangeListener.html" title="interface in org.owasp.html">HtmlChangeListener</A>&lt;? super <A HREF="../../../org/owasp/html/HtmlChangeReporter.html" title="type parameter in HtmlChangeReporter">T</A>&gt;&nbsp;listener,
135                                     <A HREF="../../../org/owasp/html/HtmlChangeReporter.html" title="type parameter in HtmlChangeReporter">T</A>&nbsp;context)</CODE>
136
137<BR>
138&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
139</TR>
140</TABLE>
141&nbsp;
142<!-- ========== METHOD SUMMARY =========== -->
143
144<A NAME="method_summary"><!-- --></A>
145<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
146<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
147<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
148<B>Method Summary</B></FONT></TH>
149</TR>
150<TR BGCOLOR="white" CLASS="TableRowColor">
151<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
152<CODE>&nbsp;<A HREF="../../../org/owasp/html/HtmlSanitizer.Policy.html" title="interface in org.owasp.html">HtmlSanitizer.Policy</A></CODE></FONT></TD>
153<TD><CODE><B><A HREF="../../../org/owasp/html/HtmlChangeReporter.html#getWrappedPolicy()">getWrappedPolicy</A></B>()</CODE>
154
155<BR>
156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
157</TR>
158<TR BGCOLOR="white" CLASS="TableRowColor">
159<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
160<CODE>&nbsp;<A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></CODE></FONT></TD>
161<TD><CODE><B><A HREF="../../../org/owasp/html/HtmlChangeReporter.html#getWrappedRenderer()">getWrappedRenderer</A></B>()</CODE>
162
163<BR>
164&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
165</TR>
166<TR BGCOLOR="white" CLASS="TableRowColor">
167<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
168<CODE>&nbsp;void</CODE></FONT></TD>
169<TD><CODE><B><A HREF="../../../org/owasp/html/HtmlChangeReporter.html#setPolicy(org.owasp.html.HtmlSanitizer.Policy)">setPolicy</A></B>(<A HREF="../../../org/owasp/html/HtmlSanitizer.Policy.html" title="interface in org.owasp.html">HtmlSanitizer.Policy</A>&nbsp;policy)</CODE>
170
171<BR>
172&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associates an input channel.</TD>
173</TR>
174</TABLE>
175&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
176<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
177<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
178<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
179</TR>
180<TR BGCOLOR="white" CLASS="TableRowColor">
181<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
182</TR>
183</TABLE>
184&nbsp;
185<P>
186
187<!-- ========= CONSTRUCTOR DETAIL ======== -->
188
189<A NAME="constructor_detail"><!-- --></A>
190<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
191<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
192<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
193<B>Constructor Detail</B></FONT></TH>
194</TR>
195</TABLE>
196
197<A NAME="HtmlChangeReporter(org.owasp.html.HtmlStreamEventReceiver,org.owasp.html.HtmlChangeListener,java.lang.Object)"><!-- --></A><A NAME="HtmlChangeReporter(org.owasp.html.HtmlStreamEventReceiver, org.owasp.html.HtmlChangeListener, T)"><!-- --></A><H3>
198HtmlChangeReporter</H3>
199<PRE>
200public <A HREF="../../../src-html/org/owasp/html/HtmlChangeReporter.html#line.58"><B>HtmlChangeReporter</B></A>(<A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A>&nbsp;renderer,
201                          <A HREF="../../../org/owasp/html/HtmlChangeListener.html" title="interface in org.owasp.html">HtmlChangeListener</A>&lt;? super <A HREF="../../../org/owasp/html/HtmlChangeReporter.html" title="type parameter in HtmlChangeReporter">T</A>&gt;&nbsp;listener,
202                          <FONT SIZE="-1">@Nullable</FONT>
203                          <A HREF="../../../org/owasp/html/HtmlChangeReporter.html" title="type parameter in HtmlChangeReporter">T</A>&nbsp;context)</PRE>
204<DL>
205</DL>
206
207<!-- ============ METHOD DETAIL ========== -->
208
209<A NAME="method_detail"><!-- --></A>
210<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
211<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
212<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
213<B>Method Detail</B></FONT></TH>
214</TR>
215</TABLE>
216
217<A NAME="setPolicy(org.owasp.html.HtmlSanitizer.Policy)"><!-- --></A><H3>
218setPolicy</H3>
219<PRE>
220public void <A HREF="../../../src-html/org/owasp/html/HtmlChangeReporter.html#line.69"><B>setPolicy</B></A>(<A HREF="../../../org/owasp/html/HtmlSanitizer.Policy.html" title="interface in org.owasp.html">HtmlSanitizer.Policy</A>&nbsp;policy)</PRE>
221<DL>
222<DD>Associates an input channel.  <code>this</code> receives events and forwards
223 them to input.
224<P>
225<DD><DL>
226</DL>
227</DD>
228</DL>
229<HR>
230
231<A NAME="getWrappedRenderer()"><!-- --></A><H3>
232getWrappedRenderer</H3>
233<PRE>
234public <A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A> <A HREF="../../../src-html/org/owasp/html/HtmlChangeReporter.html#line.73"><B>getWrappedRenderer</B></A>()</PRE>
235<DL>
236<DD><DL>
237</DL>
238</DD>
239</DL>
240<HR>
241
242<A NAME="getWrappedPolicy()"><!-- --></A><H3>
243getWrappedPolicy</H3>
244<PRE>
245public <A HREF="../../../org/owasp/html/HtmlSanitizer.Policy.html" title="interface in org.owasp.html">HtmlSanitizer.Policy</A> <A HREF="../../../src-html/org/owasp/html/HtmlChangeReporter.html#line.75"><B>getWrappedPolicy</B></A>()</PRE>
246<DL>
247<DD><DL>
248</DL>
249</DD>
250</DL>
251<!-- ========= END OF CLASS DATA ========= -->
252<HR>
253
254
255<!-- ======= START OF BOTTOM NAVBAR ====== -->
256<A NAME="navbar_bottom"><!-- --></A>
257<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
258<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
259<TR>
260<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
261<A NAME="navbar_bottom_firstrow"><!-- --></A>
262<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
263  <TR ALIGN="center" VALIGN="top">
264  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
265  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
266  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
267  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HtmlChangeReporter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
268  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
269  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
270  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
271  </TR>
272</TABLE>
273</TD>
274<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
275<a href="http://code.google.com/p/owasp-java-html-sanitizer" target=_top>code.google.com home</a></EM>
276</TD>
277</TR>
278
279<TR>
280<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
281&nbsp;<A HREF="../../../org/owasp/html/HtmlChangeListener.html" title="interface in org.owasp.html"><B>PREV CLASS</B></A>&nbsp;
282&nbsp;<A HREF="../../../org/owasp/html/HtmlPolicyBuilder.html" title="class in org.owasp.html"><B>NEXT CLASS</B></A></FONT></TD>
283<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
284  <A HREF="../../../index.html?org/owasp/html/HtmlChangeReporter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
285&nbsp;<A HREF="HtmlChangeReporter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
286&nbsp;<SCRIPT type="text/javascript">
287  <!--
288  if(window==top) {
289    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
290  }
291  //-->
292</SCRIPT>
293<NOSCRIPT>
294  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
295</NOSCRIPT>
296
297
298</FONT></TD>
299</TR>
300<TR>
301<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
302  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
303<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
304DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
305</TR>
306</TABLE>
307<A NAME="skip-navbar_bottom"></A>
308<!-- ======== END OF BOTTOM NAVBAR ======= -->
309
310<HR>
311
312</BODY>
313</HTML>
314