001/*
002 *  This file is part of the Jikes RVM project (http://jikesrvm.org).
003 *
004 *  This file is licensed to You under the Eclipse Public License (EPL);
005 *  You may not use this file except in compliance with the License. You
006 *  may obtain a copy of the License at
007 *
008 *      http://www.opensource.org/licenses/eclipse-1.0.php
009 *
010 *  See the COPYRIGHT.txt file distributed with this work for information
011 *  regarding copyright ownership.
012 */
013package org.mmtk.vm;
014
015/**
016 * Build-time configuration constants for MMTk.
017 */
018public abstract class BuildTimeConfig {
019
020  /**
021   * @return The name of the current MMTk plan
022   */
023  public abstract String getPlanName();
024
025  /**
026   * Return a property of type String
027   * @param name The name of the property
028   * @return The value of the property
029   */
030  public abstract String getStringProperty(String name);
031
032  /**
033   * Return a property of type String, with default.
034   * @param name The name of the property
035   * @param dflt Default value
036   * @return The value of the property
037   */
038  public abstract String getStringProperty(String name, String dflt);
039
040  /**
041   * Return a property of type int
042   * @param name The name of the property
043   * @return The value of the property
044   */
045  public abstract int getIntProperty(String name);
046
047  /**
048   * Return a property of type String, with default.
049   * @param name The name of the property
050   * @param dflt Default value
051   * @return The value of the property
052   */
053  public abstract int getIntProperty(String name, int dflt);
054
055  /**
056   * Return a property of type boolean
057   * @param name The name of the property
058   * @return The value of the property
059   */
060  public abstract boolean getBooleanProperty(String name);
061
062  /**
063   * Return a property of type boolean, with default.
064   * @param name The name of the property
065   * @param dflt Default value
066   * @return The value of the property
067   */
068  public abstract boolean getBooleanProperty(String name, boolean dflt);
069}