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

com.avaje.ebeaninternal.server.el.CharMatch Maven / Gradle / Ivy

There is a newer version: 8.1.1
Show newest version
package com.avaje.ebeaninternal.server.el;

/**
 * Case insensitive string matching.
 * 

* Provides an alternative to using regular expressions. *

*/ public final class CharMatch { private final char[] upperChars; private final int maxLength; public CharMatch(String s) { this.upperChars = s.toUpperCase().toCharArray(); this.maxLength = upperChars.length; } public boolean startsWith(String other) { if (other == null || other.length() < maxLength) { return false; } char ta[] = other.toCharArray(); int pos = -1; while (++pos < maxLength) { char c1 = upperChars[pos]; char c2 = Character.toUpperCase(ta[pos]); if (c1 != c2) { return false; } } return true; } public boolean endsWith(String other) { if (other == null || other.length() < maxLength) { return false; } char ta[] = other.toCharArray(); int offset = ta.length - maxLength; int pos = maxLength; while (--pos >= 0) { char c1 = upperChars[pos]; char c2 = Character.toUpperCase(ta[offset + pos]); if (c1 != c2) { return false; } } return true; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy