code: public void cmsEvent(CmsEvent event) {
  
          if (!isStaticExportEnabled()) {
              if (LOG.isWarnEnabled()) {
                  LOG.warn(Messages.get().getBundle().key(Messages.LOG_STATIC_EXPORT_DISABLED_0));
              }
              return;
          }
          I_CmsReport report = null;
          Map<String, Object> data = event.getData();
          if (data != null) {
              report = (I_CmsReport)data.get(I_CmsEventListener.KEY_REPORT);
          }
          if (report == null) {
              report = new CmsLogReport(CmsLocaleManager.getDefaultLocale(), getClass());
          }
          switch (event.getType()) {
              case I_CmsEventListener.EVENT_UPDATE_EXPORTS:
                  scrubExportFolders(report);
                  clearCaches(event);
                  break;
              case I_CmsEventListener.EVENT_PUBLISH_PROJECT:
                  if (data == null) {
                      if (LOG.isErrorEnabled()) {
                          LOG.error(Messages.get().getBundle().key(Messages.ERR_EMPTY_EVENT_DATA_0));
                      }
                      return;
                  }
                  // event data contains a list of the published resources
                  CmsUUID publishHistoryId = new CmsUUID((String)data.get(I_CmsEventListener.KEY_PUBLISHID));
                  if (LOG.isDebugEnabled()) {
                      LOG.debug(Messages.get().getBundle().key(Messages.LOG_EVENT_PUBLISH_PROJECT_1, publishHistoryId));
                  }
                  synchronized (m_lockCmsEvent) {
                      getHandler().performEventPublishProject(publishHistoryId, report);
                  }
                  clearCaches(event);
  
                  if (LOG.isDebugEnabled()) {
                      LOG.debug(
                          Messages.get().getBundle().key(
                              Messages.LOG_EVENT_PUBLISH_PROJECT_FINISHED_1,
                              publishHistoryId));
                  }
  
                  break;
              case I_CmsEventListener.EVENT_CLEAR_CACHES:
                  clearCaches(event);
                  break;
              default:
                  // no operation
          }
      }
docs: Implements the CmsEvent interface,
  the static export properties uses the events to clear
  the list of cached keys in case a project is published.<p>
  
  @param event CmsEvent that has occurred