| /******************************************************************************* |
| * Copyright (c) 2000, 2016 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.core.internal.filesystem; |
| |
| import java.io.*; |
| import java.util.Date; |
| import org.eclipse.core.internal.runtime.RuntimeLog; |
| import org.eclipse.core.runtime.CoreException; |
| import org.eclipse.core.runtime.Status; |
| |
| /** |
| * Grab bag of utility methods for the file system plugin |
| */ |
| public class Policy { |
| public static final String PI_FILE_SYSTEM = "org.eclipse.core.filesystem"; //$NON-NLS-1$ |
| |
| /** |
| * Print a debug message to the console. |
| * Pre-pend the message with the current date and the name of the current thread. |
| */ |
| public static void debug(String message) { |
| StringBuffer buffer = new StringBuffer(); |
| buffer.append(new Date(System.currentTimeMillis())); |
| buffer.append(" - ["); //$NON-NLS-1$ |
| buffer.append(Thread.currentThread().getName()); |
| buffer.append("] "); //$NON-NLS-1$ |
| buffer.append(message); |
| System.out.println(buffer.toString()); |
| } |
| |
| public static void error(int code, String message) throws CoreException { |
| error(code, message, null); |
| } |
| |
| public static void error(int code, String message, Throwable exception) throws CoreException { |
| int severity = code == 0 ? 0 : 1 << (code % 100 / 33); |
| throw new CoreException(new Status(severity, PI_FILE_SYSTEM, code, message, exception)); |
| } |
| |
| public static void log(int severity, String message, Throwable t) { |
| if (message == null) |
| message = ""; //$NON-NLS-1$ |
| RuntimeLog.log(new Status(severity, PI_FILE_SYSTEM, 1, message, t)); |
| } |
| |
| /** |
| * Closes a stream and ignores any resulting exception. |
| */ |
| public static void safeClose(InputStream in) { |
| try { |
| if (in != null) |
| in.close(); |
| } catch (IOException e) { |
| //ignore |
| } |
| } |
| |
| /** |
| * Closes a stream and ignores any resulting exception. |
| */ |
| public static void safeClose(OutputStream out) { |
| try { |
| if (out != null) |
| out.close(); |
| } catch (IOException e) { |
| //ignore |
| } |
| } |
| } |