Java String Ends With endsWithName(String subject, String endName)

Here you can find the source of endsWithName(String subject, String endName)

Description

ends With Name

License

Apache License

Parameter

Parameter Description
subject A string.
endName A name.

Exception

Parameter Description
NullPointerException if subject or endName is null.

Return

True if subject ends with the specified name, i.e. always name is empty, else if name equals it, or ends with it preceded by '.' or '$'.

Declaration

public static boolean endsWithName(String subject, String endName) 

Method Source Code

//package com.java2s;
/*/*  ww w  . ja v a2 s.c  o m*/
 * Copyright 2015-2016 Jeff Hain
 *
 * Licensed 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.
 */

public class Main {
    private static final char CHAR_DOT = '.';
    private static final char CHAR_DOLLAR = '$';

    /**
     * @param subject A string.
     * @param endName A name.
     * @return True if subject ends with the specified name,
     *         i.e. always name is empty, else if name equals it,
     *         or ends with it preceded by '.' or '$'.
     * @throws NullPointerException if subject or endName is null.
     */
    public static boolean endsWithName(String subject, String endName) {
        // Implicit null checks.
        if (!subject.endsWith(endName)) {
            return false;
        }
        if (endName.length() == 0) {
            // Anything matches.
            return true;
        }
        final int deltaLength = subject.length() - endName.length();
        if (deltaLength == 0) {
            // Equals.
            return true;
        }
        final char beforeEndNameChar = subject.charAt(deltaLength - 1);
        return (beforeEndNameChar == CHAR_DOT) || (beforeEndNameChar == CHAR_DOLLAR);
    }
}

Related

  1. endsWithIgnoreCase(String toCheck, String suffix)
  2. endsWithIgnSpace(String s, String ending)
  3. endsWithIllegalWindowsChar(String filename)
  4. endsWithIndex(String[] suffixes, String propertyName)
  5. endsWithLineSeparator(final CharSequence msg)
  6. endsWithNewline(String string)
  7. endsWithOne(final String src, final String[] dest)
  8. endsWithOne(String src, String... dest)
  9. endsWithOneOf(String value, String... ends)