All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.coobird.thumbnailator.name.Rename Maven / Gradle / Ivy

There is a newer version: [0.4, 0.5)
Show newest version
package net.coobird.thumbnailator.name;

import net.coobird.thumbnailator.ThumbnailParameter;

/**
 * This class is used to rename file names.
 * 
 * @author coobird
 *
 */
public abstract class Rename
{
	/**
	 * A {@code Rename} which does not alter the given file name.
	 * 

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code picture.jpg}
  • *
*/ public static final Rename NO_CHANGE = new Rename() { @Override public String apply(String name, ThumbnailParameter param) { return name; } }; /** * Appends {@code thumbnail.} to the beginning of the file name. *

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code thumbnail.picture.jpg}
  • *
*/ public static final Rename PREFIX_DOT_THUMBNAIL = new Rename() { @Override public String apply(String fileName, ThumbnailParameter param) { return appendPrefix(fileName, "thumbnail."); } }; /** * Appends {@code thumbnail-} to the beginning of the file name. *

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code thumbnail-picture.jpg}
  • *
* * @deprecated Please use the correctly spelled * {@link Rename#PREFIX_HYPHEN_THUMBNAIL}. This constant * will be removed in Thumbnailator 0.5.0. */ @Deprecated public static final Rename PREFIX_HYPTHEN_THUMBNAIL = Rename.PREFIX_HYPHEN_THUMBNAIL; /** * Appends {@code thumbnail-} to the beginning of the file name. *

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code thumbnail-picture.jpg}
  • *
*/ public static final Rename PREFIX_HYPHEN_THUMBNAIL = new Rename() { @Override public String apply(String fileName, ThumbnailParameter param) { return appendPrefix(fileName, "thumbnail-"); } }; /** * Appends {@code .thumbnail} to the file name prior to the extension of * the file. *

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code picture.thumbnail.jpg}
  • *
*/ public static final Rename SUFFIX_DOT_THUMBNAIL = new Rename() { @Override public String apply(String fileName, ThumbnailParameter param) { return appendSuffix(fileName, ".thumbnail"); } }; /** * Appends {@code -thumbnail} to the file name prior to the extension of * the file. *

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code picture-thumbnail.jpg}
  • *
* * @deprecated Please use the correctly spelled * {@link Rename#SUFFIX_HYPHEN_THUMBNAIL}. This constant * will be removed in Thumbnailator 0.5.0. */ @Deprecated public static final Rename SUFFIX_HYPTHEN_THUMBNAIL = Rename.SUFFIX_HYPHEN_THUMBNAIL; /** * Appends {@code -thumbnail} to the file name prior to the extension of * the file. *

* Note: The {@link #apply(String, ThumbnailParameter)} method does not use * the {@code param} parameter. A value of {@code null} for {@code param} is * permitted. *

*

Example
*
    *
  • Before: {@code picture.jpg}
  • *
  • After: {@code picture-thumbnail.jpg}
  • *
*/ public static final Rename SUFFIX_HYPHEN_THUMBNAIL = new Rename() { @Override public String apply(String fileName, ThumbnailParameter param) { return appendSuffix(fileName, "-thumbnail"); } }; /** * The default constructor is intended only to be called implicitly * by the classes implementing the functionality of the {@link Rename} * class. */ protected Rename() {} /** * Applies the function performed by this {@code Rename} on the * specified name and thumbnail creation parameters. * * @param name Name to apply the function on. * The file name should not include the directory * in which the file resides in. * @param param Parameters used to create the thumbnail. * @return The name after the function has been applied. */ public abstract String apply(String name, ThumbnailParameter param); /** * Appends a suffix to a filename. * * @param fileName File name to add a suffix on. * @param suffix The suffix to add. * @return File name with specified suffixed affixed. */ protected String appendSuffix(String fileName, String suffix) { String newFileName = ""; int indexOfDot = fileName.lastIndexOf('.'); if (indexOfDot != -1) { newFileName = fileName.substring(0, indexOfDot); newFileName += suffix; newFileName += fileName.substring(indexOfDot); } else { newFileName = fileName + suffix; } return newFileName; } /** * Appends a prefix to a filename. * * @param fileName File name to add a prefix on. * @param prefix The prefix to add. * @return File name with the specified prefix affixed. */ protected String appendPrefix(String fileName, String prefix) { return prefix + fileName; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy