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: CoverageOptionsFactory.java,v 1.1.2.1 2004/06/27 22:58:26 vlad_r Exp $ 8 */ 9package com.vladium.emma.data; 10 11import java.util.Properties; 12 13import com.vladium.emma.instr.InstrProcessor; 14import com.vladium.util.IProperties; 15import com.vladium.util.Property; 16 17// ---------------------------------------------------------------------------- 18/** 19 * @author Vlad Roubtsov, (C) 2004 20 */ 21public 22abstract class CoverageOptionsFactory 23{ 24 // public: ................................................................ 25 26 public static CoverageOptions create (final Properties properties) 27 { 28 final boolean excludeSyntheticMethods = 29 Property.toBoolean (properties.getProperty (InstrProcessor.PROPERTY_EXCLUDE_SYNTHETIC_METHODS, 30 InstrProcessor.DEFAULT_EXCLUDE_SYNTHETIC_METHODS)); 31 32 final boolean excludeBridgeMethods = 33 Property.toBoolean (properties.getProperty (InstrProcessor.PROPERTY_EXCLUDE_BRIDGE_METHODS, 34 InstrProcessor.DEFAULT_EXCLUDE_BRIDGE_METHODS)); 35 36 final boolean doSUIDCompensaton = 37 Property.toBoolean (properties.getProperty (InstrProcessor.PROPERTY_DO_SUID_COMPENSATION, 38 InstrProcessor.DEFAULT_DO_SUID_COMPENSATION)); 39 40 return new CoverageOptions (excludeSyntheticMethods, excludeBridgeMethods, doSUIDCompensaton); 41 } 42 43 public static CoverageOptions create (final IProperties properties) 44 { 45 final boolean excludeSyntheticMethods = 46 Property.toBoolean (properties.getProperty (InstrProcessor.PROPERTY_EXCLUDE_SYNTHETIC_METHODS, 47 InstrProcessor.DEFAULT_EXCLUDE_SYNTHETIC_METHODS)); 48 49 final boolean excludeBridgeMethods = 50 Property.toBoolean (properties.getProperty (InstrProcessor.PROPERTY_EXCLUDE_BRIDGE_METHODS, 51 InstrProcessor.DEFAULT_EXCLUDE_BRIDGE_METHODS)); 52 53 final boolean doSUIDCompensaton = 54 Property.toBoolean (properties.getProperty (InstrProcessor.PROPERTY_DO_SUID_COMPENSATION, 55 InstrProcessor.DEFAULT_DO_SUID_COMPENSATION)); 56 57 return new CoverageOptions (excludeSyntheticMethods, excludeBridgeMethods, doSUIDCompensaton); 58 } 59 60 // protected: ............................................................. 61 62 // package: ............................................................... 63 64 // private: ............................................................... 65 66 67 private CoverageOptionsFactory () {} // this class is not extendible 68 69} // end of class 70// ----------------------------------------------------------------------------