Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.io
Class IOCase

    java.lang.Object
      org.apache.commons.io.IOCase

All Implemented Interfaces:
  Serializable

    public final class IOCase

extends Object
implements Serializable

Enumeration of IO case sensitivity.

Different filing systems have different rules for case-sensitivity. Windows is case-insensitive, Unix is case-sensitive.

This class captures that difference, providing an enumeration to control how filename comparisons should be performed. It also provides methods that use the enumeration to perform comparisons.

Wherever possible, you should use the `check` methods in this class to compare filenames.

Since:
  1.3
Version:
  $Id: IOCase.java 1307459 2012-03-30 15:11:44Z ggregory $
See Also:
  Serialized Form

Field Summary
`static IOCase` | `INSENSITIVE` The constant for case insensitive regardless of operating system.
`static IOCase` | `SENSITIVE` The constant for case sensitive regardless of operating system.
`static IOCase` | `SYSTEM` The constant for case sensitivity determined by the current operating system.

Method Summary
`int` | `checkCompareTo(String str1, String str2)` Compares two strings using the case-sensitivity rule.
`boolean` | `checkEndsWith(String str, String end)` Checks if one string ends with another using the case-sensitivity rule.
`boolean` | `checkEquals(String str1, String str2)` Compares two strings using the case-sensitivity rule.
`int` | `checkIndexOf(String str, int strStartIndex, String search)` Checks if one string contains another starting at a specific index using the case-sensitivity rule.
`boolean` | `checkRegionMatches(String str, int strStartIndex, String search)` Checks if one string contains another at a specific index using the case-sensitivity rule.
`boolean` | `checkStartsWith(String str, String start)` Checks if one string starts with another using the case-sensitivity rule.
`static IOCase` | `forName(String name)` Factory method to create an IOCase from a name.
`String` | `getName()` Gets the name of the constant.
`boolean` | `isCaseSensitive()` Does the object represent case sensitive comparison.
`String` | `toString()` Gets a string describing the sensitivity.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### SENSITIVE

    public static final IOCase SENSITIVE

  The constant for case sensitive regardless of operating system.

### INSENSITIVE

    public static final IOCase INSENSITIVE

  The constant for case insensitive regardless of operating system.

### SYSTEM

    public static final IOCase SYSTEM

  The constant for case sensitivity determined by the current operating system. Windows is case-insensitive when comparing filenames, Unix is case-sensitive.

  Note: This only caters for Windows and Unix. Other operating systems (e.g. OSX and OpenVMS) are treated as case sensitive if they use the Unix file separator and case-insensitive if they use the Windows file separator (see `File.separatorChar`).

  If you derialize this constant of Windows, and deserialize on Unix, or vice versa, then the value of the case-sensitivity flag will change.

Method Detail

### forName

    public static IOCase forName(String name)

  Factory method to create an IOCase from a name.

  Parameters:
    `name` - the name to find
  Returns:
    the IOCase object
  Throws:
    `IllegalArgumentException` - if the name is invalid

### getName

    public String getName()

  Gets the name of the constant.

  Returns:
    the name of the constant

### isCaseSensitive

    public boolean isCaseSensitive()

  Does the object represent case sensitive comparison.

  Returns:
    true if case sensitive

### checkCompareTo

    public int checkCompareTo(String str1,
                              String str2)

  Compares two strings using the case-sensitivity rule.

  This method mimics `String.compareTo(java.lang.String)` but takes case-sensitivity into account.

  Parameters:
    `str1` - the first string to compare, not null
    `str2` - the second string to compare, not null
  Returns:
    true if equal using the case rules
  Throws:
    `NullPointerException` - if either string is null

### checkEquals

    public boolean checkEquals(String str1,
                               String str2)

  Compares two strings using the case-sensitivity rule.

  This method mimics `String.equals(java.lang.Object)` but takes case-sensitivity into account.

  Parameters:
    `str1` - the first string to compare, not null
    `str2` - the second string to compare, not null
  Returns:
    true if equal using the case rules
  Throws:
    `NullPointerException` - if either string is null

### checkStartsWith

    public boolean checkStartsWith(String str,
                                   String start)

  Checks if one string starts with another using the case-sensitivity rule.

  This method mimics `String.startsWith(String)` but takes case-sensitivity into account.

  Parameters:
    `str` - the string to check, not null
    `start` - the start to compare against, not null
  Returns:
    true if equal using the case rules
  Throws:
    `NullPointerException` - if either string is null

### checkEndsWith

    public boolean checkEndsWith(String str,
                                 String end)

  Checks if one string ends with another using the case-sensitivity rule.

  This method mimics `String.endsWith(java.lang.String)` but takes case-sensitivity into account.

  Parameters:
    `str` - the string to check, not null
    `end` - the end to compare against, not null
  Returns:
    true if equal using the case rules
  Throws:
    `NullPointerException` - if either string is null

### checkIndexOf

    public int checkIndexOf(String str,
                            int strStartIndex,
                            String search)

  Checks if one string contains another starting at a specific index using the case-sensitivity rule.

  This method mimics parts of `String.indexOf(String, int)` but takes case-sensitivity into account.

  Parameters:
    `str` - the string to check, not null
    `strStartIndex` - the index to start at in str
    `search` - the start to search for, not null
  Returns:
    the first index of the search String, -1 if no match or `null` string input
  Throws:
    `NullPointerException` - if either string is null
  Since:
    2.0

### checkRegionMatches

    public boolean checkRegionMatches(String str,
                                      int strStartIndex,
                                      String search)

  Checks if one string contains another at a specific index using the case-sensitivity rule.

  This method mimics parts of `String.regionMatches(boolean, int, String, int, int)` but takes case-sensitivity into account.

  Parameters:
    `str` - the string to check, not null
    `strStartIndex` - the index to start at in str
    `search` - the start to search for, not null
  Returns:
    true if equal using the case rules
  Throws:
    `NullPointerException` - if either string is null

### toString

    public String toString()

  Gets a string describing the sensitivity.

  Overrides:
    `toString` in class `Object`
  Returns:
    a string describing the sensitivity

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.