Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
Source Code for SLF4J 1.7.31 Migrator
SLF4J Migrator is a tool that migrates
Java source code from JCL (Jakarta Commons Logging) API to SLF4J API.
Here is the source code for SLF4J Migrator You can download its pre-compiled version slf4j-ext-1.7.31.jar at SLF4J Download Website.
✍: FYIcenter.com
⏎ org/slf4j/migrator/helper/Abbreviator.java
/**
* Copyright (c) 2004-2011 QOS.ch
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
package org.slf4j.migrator.helper;
public class Abbreviator {
static final String FILLER = "...";
final char folderSeparator;
final int invariantPrefixLength;
final int desiredLength;
public Abbreviator(int invariantPrefixLength, int desiredLength, char folderSeparator) {
this.invariantPrefixLength = invariantPrefixLength;
this.desiredLength = desiredLength;
this.folderSeparator = folderSeparator;
}
public String abbreviate(String filename) {
if (filename.length() <= desiredLength) {
return filename;
} else {
int firstIndex = filename.indexOf(folderSeparator, invariantPrefixLength);
if (firstIndex == -1) {
// we cant't process this string
return filename;
}
StringBuilder buf = new StringBuilder(desiredLength);
buf.append(filename, 0, firstIndex + 1);
buf.append(FILLER);
int nextIndex = computeNextIndex(filename, firstIndex);
if (nextIndex != -1) {
buf.append(filename.substring(nextIndex));
} else {
// better long than wrong
return filename;
}
if (buf.length() < filename.length()) {
return buf.toString();
} else {
// we tried our best but we are still could not shorten the input
return filename;
}
}
}
int computeNextIndex(String filename, int firstIndex) {
int nextIndex = firstIndex + 1;
int hitCount = 0;
int minToRemove = filename.length() - desiredLength + FILLER.length();
while (nextIndex < firstIndex + minToRemove) {
int tmpIndex = filename.indexOf(folderSeparator, nextIndex + 1);
if (tmpIndex == -1) {
if (hitCount == 0) {
return -1;
} else {
return nextIndex;
}
} else {
hitCount++;
nextIndex = tmpIndex;
}
}
return nextIndex;
}
}
⏎ org/slf4j/migrator/helper/Abbreviator.java
Or download all of them as a single archive file:
File name: slf4j-migrator-1.7.31-sources.jar File size: 33637 bytes Release date: 2021-06-17 Download
⇐ Source Code for SLF4J 1.7.31 Extensions
2023-04-03, ∼5989🔥, 1💬
Popular Posts:
What JAR files are required to run dom\Counter.java provided in the Apache Xerces package? You can f...
JDK 17 java.xml.jmod is the JMOD file for JDK 17 XML (eXtensible Markup Language) module. JDK 17 XML...
How to download and install ojdbc7.jar for Oracle 12c R1? ojdbc8.jar for Oracle 12c R1 is a Java 7 a...
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.6.1-src.zip...
Where to get the Java source code for Connector/J 8.0 Core API module? Java source code files for Co...