class ObservableDRLFile implements ResourceChangeObservableFile {

    @Override
    public boolean accept(final Path path) {
        try {
            final String fileName = path.getFileName();
            if (!fileName.endsWith("." + EXTENSION)) {
                return false;
            }
            final String drl = ioService.readAllString(convert(path));
            return PATTERN.matcher(drl.toLowerCase()).matches();
        } catch (NoSuchFileException e) {
            return false;
        }
    }

    public  ObservableDRLFile();
    @Inject public  ObservableDRLFile(final @Named("ioStrategy") IOService ioService);

}