Save This Page
Home » bsf-src-2.4.0 » org.apache.bsf.util » [javadoc | source]
    1   /*
    2    * The Apache Software License, Version 1.1
    3    *
    4    * Copyright (c) 2002 The Apache Software Foundation.  All rights
    5    * reserved.
    6    *
    7    * Redistribution and use in source and binary forms, with or without
    8    * modification, are permitted provided that the following conditions
    9    * are met:
   10    *
   11    * 1. Redistributions of source code must retain the above copyright
   12    *    notice, this list of conditions and the following disclaimer.
   13    *
   14    * 2. Redistributions in binary form must reproduce the above copyright
   15    *    notice, this list of conditions and the following disclaimer in
   16    *    the documentation and/or other materials provided with the
   17    *    distribution.
   18    *
   19    * 3. The end-user documentation included with the redistribution, if
   20    *    any, must include the following acknowlegement:
   21    *       "This product includes software developed by the
   22    *        Apache Software Foundation (http://www.apache.org/)."
   23    *    Alternately, this acknowlegement may appear in the software itself,
   24    *    if and wherever such third-party acknowlegements normally appear.
   25    *
   26    * 4. The names "Apache BSF", "Apache", and "Apache Software Foundation"
   27    *    must not be used to endorse or promote products derived from
   28    *    this software without prior written permission. For written
   29    *    permission, please contact apache@apache.org.
   30    *
   31    * 5. Products derived from this software may not be called "Apache"
   32    *    nor may "Apache" appear in their names without prior written
   33    *    permission of the Apache Group.
   34    *
   35    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   36    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   37    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   38    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   39    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   40    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   41    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   42    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   43    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   44    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   45    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   46    * SUCH DAMAGE.
   47    * ====================================================================
   48    *
   49    * This software consists of voluntary contributions made by many individuals
   50    * on behalf of the Apache Software Foundation and was originally created by
   51    * Sanjiva Weerawarana and others at International Business Machines
   52    * Corporation. For more information on the Apache Software Foundation,
   53    * please see <http://www.apache.org/>.
   54    */
   55   
   56   package org.apache.bsf.util;
   57   
   58   import org.apache.bsf;
   59   
   60   /**
   61    * This is a class for the debug manager to remember
   62    * a breakpoint. Breakpoints are set globally to a 
   63    * JVM, that is, globally to all BSFManager/BSFEngine
   64    * created in the JVM.
   65    * A breakpoint is either at a line (defined by '\n') 
   66    * or an (char) offset in a document.
   67    * NOTE:
   68    * There is no correspondance so far... so for 
   69    * instance, if a breakpoint is defined at an offset, 
   70    * it cannot be manipulated later as defined with a line,
   71    * although conceptually there is an equivalence between
   72    * lines and offsets.
   73    * 
   74    * A document is for instance a JSP in Tomcat/Jasper
   75    * framework. Its name is given when evaluating/executing
   76    * a function or a script through the BSFEngine.eval or 
   77    * BSFEngine.exec interface.
   78    *
   79    * Breakpoints are identified through breakpoint identifier
   80    * which are provided by the client debugger. This allows an
   81    * easy communication between the server and the client.
   82    * Breakpoint identifiers shall be unique across documents.
   83    * 
   84    * @see BSFEngine java.lang.eval java.lang.exec
   85    * @author Olivier Gruber
   86    */
   87   public class BreakPoint {
   88   
   89   	protected int m_brkptId;
   90   	protected int m_lineno;
   91   	protected int m_offset;
   92   	protected boolean m_lineDefined;
   93   
   94   	protected DocumentCell m_cell;
   95   	//--------------------------------------------------
   96   	public BreakPoint(DocumentCell cell, int brkptid) {
   97   		super();
   98   		m_cell = cell;
   99   		m_brkptId = brkptid;
  100   		m_lineno = -1;
  101   		m_lineDefined = true;
  102   	}
  103   	//--------------------------------------------------
  104   	public boolean isLineDefined() {
  105   		return m_lineDefined;
  106   	}
  107   	//--------------------------------------------------
  108   	public int getId() {
  109   		return m_brkptId;
  110   	}
  111   	//--------------------------------------------------
  112   	public int getLineNo() {
  113   		if (m_lineDefined)
  114   			return m_lineno;
  115   		else
  116   			return -1;
  117   	}
  118   	//--------------------------------------------------
  119   	public int getOffset() {
  120   		if (m_lineDefined)
  121   			return -1;
  122   		else
  123   			return m_offset;
  124   	}
  125   	//--------------------------------------------------
  126   	public void setLineNo(int lineno) {
  127   		m_lineno = lineno;
  128   	}
  129   	//--------------------------------------------------
  130   	public void setOffset(int offset) {
  131   		m_offset = offset;
  132   	}
  133   	public String toString() {
  134   		if (m_lineDefined)
  135   			return "line #"+Integer.toString(m_lineno);
  136   		else
  137   			return "offset "+Integer.toString(m_offset);
  138   	}
  139   }

Save This Page
Home » bsf-src-2.4.0 » org.apache.bsf.util » [javadoc | source]