@Override
    protected void validateSpecificSettings() {
        if (outputPaths == null || outputPaths.length == 0) {
            throw ProcessException.create("No output paths have been specified");
        }

        if (fileNamePattern == null || fileNamePattern.isEmpty()) {
            throw ProcessException.create("No file name has been specified");
        }

        if (rolledFileNamePattern == null || rolledFileNamePattern.isEmpty()) {
            throw ProcessException.create("No rolled file name has been specified");
        }

        if (fileNamePattern.equals(rolledFileNamePattern)) {
            throw ProcessException.create("File name and rolled file name cannot be the same");
        }
    }
Parses a POSIX-style file permission string like "rwxr--r--"
stroom-pipeline/src/main/java/stroom/pipeline/writer/RollingFileAppender.java