/* * Copyright 2014 Brian Rosenberger (Brutex Network) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.brutex.emitter.util; import java.io.File; import org.apache.log4j.Logger; /** * The Class EmitterUtil. * * @author Brian Rosenberger, bru(at)brutex.de */ public final class EmitterUtil { private static Logger logger = Logger.getLogger(EmitterUtil.class); /** * Check if the file exists and is readable. * * @param file The file to check * @param isWritable also check if file is writable * @param isExecutable also check if file is executable * @return */ public static boolean verifyFile(String file, boolean isWritable, boolean isExecutable) { logger.debug(String.format("Verifying file '%s'.", file)); File f = new File(file); String fn = f.getAbsolutePath(); if(f.exists() && f.isFile()) { if(isWritable && !f.canWrite()) { logger.error(String.format("Cannot write to file '%s'.", fn)); return false; } if(isExecutable && !f.canExecute()) { logger.error(String.format("Cannot execute file '%s'.", fn)); return false; } return true; } logger.error(String.format("Cannot read file '%s'.", fn)); return false; } }