All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.w3c.flute.parser.LocatorImpl Maven / Gradle / Ivy

/*
 * Copyright (c) 1999 World Wide Web Consortium
 * (Massachusetts Institute of Technology, Institut National de Recherche
 *  en Informatique et en Automatique, Keio University).
 * All Rights Reserved. http://www.w3.org/Consortium/Legal/
 *
 * $Id: LocatorImpl.java,v 1.2 2000/02/14 16:59:06 plehegar Exp $
 */
package org.w3c.flute.parser;

import org.w3c.css.sac.Locator;

/**
 * @version $Revision: 1.2 $
 * @author  Philippe Le Hegaret
 */
public class LocatorImpl implements Locator {

    // W3C DEBUG mode
    private static boolean W3CDebug;
    static {
	try {
	    W3CDebug = (Boolean.getBoolean("debug")
			|| Boolean.getBoolean("org.w3c.flute.parser.LocatorImpl.debug")
			|| Boolean.getBoolean("org.w3c.flute.parser.debug")
			|| Boolean.getBoolean("org.w3c.flute.debug")
			|| Boolean.getBoolean("org.w3c.debug")
			|| Boolean.getBoolean("org.debug"));
	} catch (Exception e) {
	    // nothing
	}
    }
    
    String uri;
    int    line;
    int    column;

    public String getURI() {
	return uri;
    }

    public int getLineNumber() {
	return line;
    }

    public int getColumnNumber() {
	return column;
    }

    /**
     * Creates a new LocatorImpl
     */
    public LocatorImpl(Parser p) {
	if (W3CDebug) {
	    System.err.println( "LocatorImpl::newLocator(" + p + ");");
	}
        uri = p.source.getURI();
	line = p.token.beginLine;
	column = p.token.beginColumn;
    }
    
    /**
     * Reinitializes a LocatorImpl
     */
    public LocatorImpl(Parser p, Token tok) {
	if (W3CDebug) {
	    System.err.println( "LocatorImpl::newLocator(" + p 
				+ ", " + tok + ");");
	}
        uri = p.source.getURI();
	line = tok.beginLine;
	column = tok.beginColumn;
    }
    
    /**
     * Reinitializes a LocatorImpl
     */
    public LocatorImpl(Parser p, int line, int column) {
	if (W3CDebug) {
	    System.err.println( "LocatorImpl::newLocator(" + p 
				+ ", " + line 
				 + ", " + column + ");");
	}
        uri = p.source.getURI();
	this.line = line;
	this.column = column;
    }
    
    /**
     * Reinitializes a LocatorImpl
     */
    public LocatorImpl reInit(Parser p) {
	if (W3CDebug) {
	    System.err.println( "LocatorImpl::reInit(" + p + ");" );
	}
        uri = p.source.getURI();
	line = p.token.beginLine;
	column = p.token.beginColumn;
	return this;
    }
    
    /**
     * Reinitializes a LocatorImpl
     */
    public LocatorImpl reInit(Parser p, Token tok) {
	if (W3CDebug) {
	    System.err.println( "LocatorImpl::reInit(" + p 
				+ ", " + tok + ");");
	}
        uri = p.source.getURI();
	line = tok.beginLine;
	column = tok.beginColumn;
	return this;
    }
    
    /**
     * Reinitializes a LocatorImpl
     */
    public LocatorImpl reInit(Parser p, int line, int column) {
	if (W3CDebug) {
	    System.err.println("LocatorImpl::reInit(" + p 
			       + ", " + line 
			       + ", " + column + ");");
	}
        uri = p.source.getURI();
	this.line = line;
	this.column = column;
	return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy