{
Element varElement = (Element)it.next();
if (! Wert.isUnterstuetzterTyp(varElement.getAttribute("typ").getValue()))
{
throw new FalschesDateiFormatException("Datentyp wird nicht unterst�tzt: " +
varElement.getAttribute("typ").getValue());
}
try
{
Variable var = new Variable(varElement.getAttribute("name").getValue(),
new Wert(Class.forName(varElement.getAttribute("typ").getValue())).getWert());
wertHinzufuegen(var);
}
catch (ClassNotFoundException cnfe)
{
// Sollte nie passieren, da vorher ja bereits getestet wird, ob
// der Klassenname g�ltig ist
cnfe.printStackTrace();
}
}
List konstElemente = e.getChildren("konstante");
for (Iterator it=konstElemente.iterator(); it.hasNext(); )
{
Element konstElement = (Element)it.next();
if (! Wert.isUnterstuetzterTyp(konstElement.getAttribute("typ").getValue()))
{
throw new FalschesDateiFormatException("Datentyp wird nicht unterst�tzt: " +
konstElement.getAttribute("typ").getValue());
}
try
{
try
{
BenamterWert konst = new BenamterWert(konstElement.getAttribute("name").getValue(),
new Wert(Class.forName(konstElement.getAttribute("typ").getValue()),
konstElement.getAttribute("wert").getValue()).getWert());
wertHinzufuegen(konst);
}
catch (ClassNotFoundException cnfe)
{
// Sollte nie passieren, da vorher ja bereits getestet wird, ob
// der Klassenname g�ltig ist
cnfe.printStackTrace();
}
}
catch (Wert.ConvertException ce)
{
throw new FalschesDateiFormatException("Konnte Konstante \""+
konstElement.getAttribute("name").getValue() + "\" nicht erzeugen: "+
ce.getMessage());
}
}
}