Java Reference
In-Depth Information
catch(Exception e)
{
System.err.println("---" + e.getMessage());
e.printStackTrace();
}
}
public void detectedMissingFile(String missingFileName)
{
compManager.removeComponent(missingFileName);
workSpace.deleteDirectory(missingFileName);
}
public void detectedModifiedFile(File modifiedFile)
{
detectedMissingFile(modifiedFile.getName());
detectedNewFile(modifiedFile);
}
}
6.2.4 Restliche Klassen
Mit den vier in Bild 6.3 vorkommenden Klassen haben wir den wesentlichen Teil des Frame-
works kennengelernt. Eine weitere Klasse des Frameworks ist die Klasse ComponentCon-
textImpl, welche die Schnittstelle ComponentContext implementiert und die Registratur des
Komponentensystems realisiert. Sie basiert auf einer HashMap. Wie schon zuvor erwähnt
wurde, ist es möglich, dass Komponenten Threads erzeugen, und dass diese Threads auf die
Registratur zugreifen. Aus diesem Grund sind alle Methoden synchronized.
Listing 6.11 Klasse ComponentContextImpl
package javacomp.prototype.framework;
import java.util.HashMap;
class ComponentContextImpl implements ComponentContext
{
private HashMap<String,Object> registry;
public ComponentContextImpl()
{
registry = new HashMap<String,Object>();
}
public synchronized void bind(String name, Object obj)
{
registry.put(name, obj);
}
public synchronized Object lookup(String name)
{
return registry.get(name);
}
 
Search WWH ::




Custom Search