I am trying to use the observer pattern in my GUI, and I get a NullPointerException even though the observer I am trying to add is definitely not null. here is the relevant extract of code:
private class AuditButtonActionListener implements ActionListener {
DirectoryAuditingProcessor directoryAuditingProcessor;
DirectoryAuditingAgentObserver directoryAuditingAgentObserver;
AuditButtonActionListener(){
directoryAuditingAgentObserver = new DirectoryAuditingAgentObserver();
directoryAuditingProcessor = new DirectoryAuditingProcessor();
directoryAuditingProcessor.getDirectoryAuditingAgent().addObserver(directoryAuditingAgentObserver);
}
public DirectoryAuditingProcessor getDirectoryAuditingProcessor() {
return directoryAuditingProcessor;
}
public void actionPerformed(ActionEvent ev){
directoryAuditingProcessor.process(Paths.get(selectedSourcePathTextField.getText()),null);
textAreaOutput.setText(directoryAuditingProcessor.getDirectoryAuditingAgent().
getDirectoryVisitingAgent().getShaOneHashAndFileProperties().toString());
}
}
class DirectoryAuditingAgentObserver implements Observer {
@Override
public void update(Observable o, Object message) {
textAreaOutput.append((String)message);
}
}
and the DirectoryAuditingAgent class does extends Observable. Thank you in advance for your help