/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.catalina.ssi;
public String repeat(char aChar, int numChars) { if (numChars < 0) { thrownew IllegalArgumentException(sm.getString("ssiFsize.invalidNumChars"));
}
StringBuilder buf = new StringBuilder(); for (int i = 0; i < numChars; i++) {
buf.append(aChar);
} return buf.toString();
}
public String padLeft(String str, int maxChars) {
String result = str; int charsToAdd = maxChars - str.length(); if (charsToAdd > 0) {
result = repeat(' ', charsToAdd) + str;
} return result;
}
// We try to mimic httpd here, as we do everywhere. // All the 'magic' numbers are from the util_script.c httpd source file. // Should use KiB and MiB in output but use k and M for consistency with httpd. protected String formatSize(long size, String format) {
String retString = ""; if (format.equalsIgnoreCase("bytes")) {
DecimalFormat decimalFormat = new DecimalFormat("#,##0");
retString = decimalFormat.format(size);
} else { if (size < 0) {
retString = "-";
} elseif (size == 0) {
retString = "0k";
} elseif (size < ONE_KIBIBYTE) {
retString = "1k";
} elseif (size < ONE_MEBIBYTE) {
retString = Long.toString((size + 512) / ONE_KIBIBYTE);
retString += "k";
} elseif (size < 99 * ONE_MEBIBYTE) {
DecimalFormat decimalFormat = new DecimalFormat("0.0M");
retString = decimalFormat.format(size / (double)ONE_MEBIBYTE);
} else {
retString = Long.toString((size + (529 * ONE_KIBIBYTE))
/ ONE_MEBIBYTE);
retString += "M";
}
retString = padLeft(retString, 5);
} return retString;
}
}
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.