br.com.objectos.lang.Throwables Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of objectos-lang Show documentation
Show all versions of objectos-lang Show documentation
A set of utilities for classes of the java.lang and the java.util packages.
The newest version!
/*
* Copyright (C) 2007 The Guava Authors
*
* 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.
*
* Modifications:
*
* Copyright (C) 2011-2021 Objectos Software LTDA.
*
* This file is part of the ObjectosComuns project.
*
* ObjectosComuns is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* ObjectosComuns is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with ObjectosComuns. If not, see .
*/
package br.com.objectos.lang;
import br.com.objectos.multirelease.Singleton;
import java.io.PrintWriter;
import java.io.StringWriter;
/**
* @author Kevin Bourrillion (original Guava version)
* @author Ben Yu (original Guava version)
*/
@Singleton
abstract class Throwables {
Throwables() {}
/**
* Returns a string containing the result of {@link Throwable#toString()
* toString()}, followed by the full, recursive stack trace of
* {@code throwable}. Note that you probably should not be parsing the
* resulting string; if you need programmatic access to the stack frames, you
* can call {@link Throwable#getStackTrace()}.
*
* @param throwable
* an non-null {@code Throwable} instance
* @return a string containing the result
*/
public static String getStackTraceAsString(Throwable throwable) {
StringWriter output;
output = new StringWriter();
PrintWriter printWriter;
printWriter = new PrintWriter(output);
throwable.printStackTrace(printWriter);
return output.toString();
}
public abstract Exception addSuppressed(Exception exception, Exception suppressed);
public StackTraceElement createStackTraceElement(
String classLoaderName,
String moduleName, String moduleVersion,
String declaringClass, String methodName,
String fileName, int lineNumber) {
return new StackTraceElement(declaringClass, methodName, fileName, lineNumber);
}
public String getClassLoaderName(StackTraceElement element) {
return null;
}
public String getModuleName(StackTraceElement element) {
return null;
}
public String getModuleVersion(StackTraceElement element) {
return null;
}
public abstract Throwable[] getSuppressed(Throwable throwable);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy