protected RegistryEntry(String group, Node entryNode)
	throws RegistryException
	{
		String typeString  = null;
		String valueString = null;

		// store the value and the name and type attributes
		name        = entryNode.getAttributes().getNamedItem("name").getNodeValue();
		typeString  = entryNode.getAttributes().getNamedItem("type").getNodeValue();
		valueString = entryNode.getFirstChild().getNodeValue().trim();

		// make sure we got all the information
		if ((name == null) || (typeString == null) || (valueString == null))
	    throw new RegistryException("Missing field in entry in group " + group);
	
		// store the value based on the type
		type = Type.get(typeString);
		switch (type) {
			case BOOLEAN:   value = new Boolean(valueString.equals("yes") || valueString.equals("true"));  break;
			case DOUBLE:    value = new Double (valueString);                                              break;
			case INT:       value = new Integer(valueString);                                              break;
			case STRING:    value = valueString;                                                           break;
			case FILENAME:  value = valueString;                                                           break;
		}
	}