| RuntimeProperties.java |
/*
* $Id: RuntimeProperties.java,v 1.20 2012/02/28 18:10:54 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.server;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.xins.common.collections.InvalidPropertyValueException;
import org.xins.common.collections.MissingRequiredPropertyException;
import org.xins.common.service.Descriptor;
/**
* Base class to get the runtime properties.
*
* @version $Revision: 1.20 $ $Date: 2012/02/28 18:10:54 $
* @author <a href="mailto:anthony.goubard@japplis.com">Anthony Goubard</a>
* @author <a href="mailto:tauseef.rehman@orange-ftgroup.com">Tauseef Rehman</a>
*
* @since XINS 1.2.0
*/
public class RuntimeProperties {
/**
* The stored runtime settings. This variable is initially
* <code>null</code> and then initialized by
* {@link #init(Map)}.
*/
private Map<String, String> _runtimeSettings;
/**
* Initialize the runtime properties. This method should be overwritten
* by a generated class if any runtime properties is declared in the
* <code>impl.xml</code> file.
*
* @param runtimeSettings
* the runtime properties, not <code>null</code>.
*
* @throws MissingRequiredPropertyException
* if a required property is not given.
*
* @throws InvalidPropertyValueException
* if the value of a certain property is invalid.
*/
protected void init(Map<String, String> runtimeSettings)
throws MissingRequiredPropertyException, InvalidPropertyValueException {
_runtimeSettings = runtimeSettings;
}
/**
* Gets the descriptor list. The list is created by getting all the
* properties which are marked as <i>_descriptor</i> in the run time
* properties file.
*
* <p>Since XINS 3.0, the returned collection is type-safe.
*
* @return
* the list of all descriptors, may not be <code>null</code>.
*
* @since XINS 1.3.0
*/
protected List<Descriptor> descriptors() {
return new ArrayList<Descriptor>();
}
/**
* Gets all the runtime properties.
*
* @return
* the runtime properties, can be <code>null</code> before the initialization.
*
* @since XINS 2.1
*/
public Map<String, String> properties() {
return _runtimeSettings;
}
}