/*
* Cobertura - http://cobertura.sourceforge.net/
*
* Copyright (C) 2011 Piotr Tabor
*
* Note: This file is dual licensed under the GPL and the Apache
* Source License (so that it can be used from both the main
* Cobertura classes and the ant tasks).
*
* Cobertura is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation; either version 2 of the License,
* or (at your option) any later version.
*
* Cobertura is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Cobertura; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
package net.sourceforge.cobertura.instrument.tp;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Root class for all touch-points (points in source-code that we want to monitor)
*
* @author piotr.tabor@gmail.com
*/
public abstract class TouchPointDescriptor {
public TouchPointDescriptor(int eventId, int lineNumber) {
this.eventId = eventId;
this.lineNumber = lineNumber;
}
/**
* eventId (asm code identifier) of the interesting instruction
*/
private int eventId;
/**
* Number of line in which the touch-point is localized
*/
private int lineNumber;
/**
* @return eventId (asm code identifier) of the interesting instruction
*/
public int getEventId() {
return eventId;
}
/**
* Sets eventId (asm code identifier) of the interesting instruction
*/
public void setEventId(int eventId) {
this.eventId = eventId;
}
/**
* @return number of line in which the touch-point is localized
*/
public int getLineNumber() {
return lineNumber;
}
/**
* Sets number of line in which the touch-point is localized
*/
public void setLineNumber(int lineNumber) {
this.lineNumber = lineNumber;
}
/**
* Every touch-point will have assigned some counters. This methods assigne the ids to the touch-point
* using given idGenerator
*
* @param idGenerator
*
* @return number of used 'ids' for the touch-point.
*/
public abstract int assignCounters(AtomicInteger idGenerator);
}