1/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved.
2 *
3 * This program and the accompanying materials are made available under
4 * the terms of the Common Public License v1.0 which accompanies this distribution,
5 * and is available at http://www.eclipse.org/legal/cpl-v10.html
6 *
7 * $Id: IMetaData.java,v 1.1.1.1 2004/05/09 16:57:31 vlad_r Exp $
8 */
9package com.vladium.emma.data;
10
11import java.util.Iterator;
12
13// ----------------------------------------------------------------------------
14/**
15 * @author Vlad Roubtsov, (C) 2003
16 */
17public
18interface IMetaData extends IMergeable
19{
20    // public: ................................................................
21
22    Object lock ();
23
24    IMetaData shallowCopy ();
25
26    CoverageOptions getOptions ();
27
28    int size ();
29    boolean hasSrcFileData ();
30    boolean hasLineNumberData ();
31
32//    boolean hasDescriptor (ClassDescriptor cls);
33    boolean hasDescriptor (String classVMName);
34
35    Iterator /* ClassDescripor */ iterator ();
36
37    //void setImmutable (); // TODO: this only disables add(); rename
38    boolean add (ClassDescriptor cls, boolean overwrite);
39
40} // end of interface
41// ----------------------------------------------------------------------------
42