1f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved.
2f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project *
3f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * This program and the accompanying materials are made available under
4f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * the terms of the Common Public License v1.0 which accompanies this distribution,
5f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * and is available at http://www.eclipse.org/legal/cpl-v10.html
6f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project *
7f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * $Id: CoverageOptions.java,v 1.1.1.1.2.1 2004/06/27 22:58:26 vlad_r Exp $
8f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */
9f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectpackage com.vladium.emma.data;
10f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
11f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport java.io.DataInput;
12f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport java.io.DataOutput;
13f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport java.io.IOException;
14f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectimport java.io.Serializable;
15f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
16f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// ----------------------------------------------------------------------------
17f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project/**
18f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project * @author Vlad Roubtsov, (C) 2003
19f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project */
20f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectpublic
21f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Projectfinal class CoverageOptions implements Serializable
22f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project{
23f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    // public: ................................................................
24f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
25f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    public boolean excludeSyntheticMethods ()
26f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    {
27f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        return m_excludeSyntheticMethods;
28f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    }
29f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
30f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    public boolean excludeBridgeMethods ()
31f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    {
32f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        return m_excludeBridgeMethods;
33f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    }
34f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
35f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    public boolean doSUIDCompensation ()
36f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    {
37f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        return m_doSUIDCompensation;
38f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    }
39f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
40f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    // protected: .............................................................
41f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
42f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    // package: ...............................................................
43f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
44f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    /*
45f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project     * Package-private to be accessble by CoverageOptionsFactory
46f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project     * (the factory is in a separate source file to avoid spurious
47f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project     * classloading dependency via InnerClasses attr)
48f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project     */
49f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    CoverageOptions (final boolean excludeSyntheticMethods,
50f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project                     final boolean excludeBridgeMethods,
51f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project                     final boolean doSUIDCompensation)
52f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    {
53f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        m_excludeSyntheticMethods = excludeSyntheticMethods;
54f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        m_excludeBridgeMethods = excludeBridgeMethods;
55f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        m_doSUIDCompensation = doSUIDCompensation;
56f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    }
57f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
58f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
59f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    static CoverageOptions readExternal (final DataInput in)
60f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        throws IOException
61f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    {
62f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        return new CoverageOptions (in.readBoolean (),
63f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project                                    in.readBoolean (),
64f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project                                    in.readBoolean ());
65f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    }
66f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
67f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    static void writeExternal (final CoverageOptions options, final DataOutput out)
68f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        throws IOException
69f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    {
70f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        out.writeBoolean (options.m_excludeSyntheticMethods);
71f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        out.writeBoolean (options.m_excludeBridgeMethods);
72f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project        out.writeBoolean (options.m_doSUIDCompensation);
73f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    }
74f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
75f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    // private: ...............................................................
76f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
77f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
78f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    private final boolean m_excludeSyntheticMethods;
79f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    private final boolean m_excludeBridgeMethods;
80f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project    private final boolean m_doSUIDCompensation;
81f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project
82f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project} // end of class
83f6fe897e173f4e4bda72a7dddb091b667066764aThe Android Open Source Project// ----------------------------------------------------------------------------