Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2007 Mozilla Foundation
   *
   * Permission is hereby granted, free of charge, to any person obtaining a 
   * copy of this software and associated documentation files (the "Software"), 
   * to deal in the Software without restriction, including without limitation 
   * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
   * and/or sell copies of the Software, and to permit persons to whom the 
   * Software is furnished to do so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in 
  * all copies or substantial portions of the Software.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  * DEALINGS IN THE SOFTWARE.
  */
 
 package nu.validator.messages;
 
 
 
 
 public class XhtmlSourceHandler implements SourceHandler {
 
     private static final char[] NEWLINE_SUBSTITUTE = {'\u21A9'};
 
     private static final AttributesImpl LINE_BREAK_ATTRS = new AttributesImpl();
 
     static {
         .addAttribute("class""lf");
         .addAttribute("title""Line break");
     }
     
     private final AttributesImpl attrs = new AttributesImpl();
     
     private final XhtmlSaxEmitter emitter;
     
     private final int lineOffset;
     
     private boolean listOpen;
 
     private boolean lineOpen;
     
     private String rangeOpen;
     
     private boolean charOpen;
     
     private int lineNumber;
 
     private SortedSet<IntegeroneBasedLineErrors;
    
    

Parameters:
emitter
 
     public XhtmlSourceHandler(XhtmlSaxEmitter emitterint lineOffset) {
         this. = emitter;
         this. = lineOffset;
     }
     
     public void characters(char[] chint startint length)
             throws SAXException {
         maybeOpen();
         .characters(chstartlength);
     }
 
     @SuppressWarnings("boxing")
     private void maybeOpen() throws SAXException {
         assert !( && !);
         if (!) {
             .clear();
             .addAttribute("class""source");
             if ( != 0) {
                 .addAttribute("start", Integer.toString(1 + ));                
             }
             .startElement("ol");
              = true;
         }
         if (!) {
             ++;
             .clear();
             .addAttribute("id""l" + ( + ));
             if ( != null && .contains()) {
                 .addAttribute("class""b");
             }
             .startElement("li");
             .startElement("code");
              = true;
             if ( != null) {
                 .startElementWithClass("b");
            }
        }
    }
    public void endCharHilite() throws SAXException {
        if (!) {
            return;
        }
        .endElement("b");
         = false;
    }
    public void endRange() throws SAXException {
        assert  != null;
        .endElement("b");
         = null;
    }
    public void endSource() throws SAXException {
        if () {
            endCharHilite();
        }
        assert  == null;
        if () {
            .endElement("code");
            .endElement("li");
        }
        if () {
            .endElement("ol");
        }
    }
    public void newLine() throws SAXException {
        maybeOpen();
        if () {
            endCharHilite();
        }
        if ( != null) {
            .endElement("b");
        }
        .endElement("code");
        .startElement("code");
        .endElement("code");
        .endElement("li");
         = false;
    }
    public void startCharHilite(int oneBasedLineint oneBasedColumn)
            throws SAXException {
        maybeOpen();
        assert !;
        assert  == oneBasedLine;
        .clear();
        .addAttribute("id""cl" + (oneBasedLine + ) + "c" + oneBasedColumn);
        .startElement("b");
         = true;
    }
    public void startRange(int oneBasedLineint oneBasedColumn)
            throws SAXException {
        maybeOpen();
        assert  == null;
         = "l" + (oneBasedLine + ) + "c" + oneBasedColumn;
        .clear();
        .addAttribute("id");
        .addAttribute("class");
        .startElement("b");
    }
    public void startSource(String typeString encodingthrows SAXException {
         = false;
         = false;
         = null;
         = false;
         = 0;
         = null;
    }
    public void setLineErrors(SortedSet<IntegeroneBasedLineErrorsthrows SAXException {
        this. = oneBasedLineErrors;
    }
New to GrepCode? Check out our FAQ X