Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*************************************************************************
 * Copyright (c) 2015 Lemberg Solutions
 *
 * 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 String filesPathCache;
    private static String cachedRoot;

    public static String getFilesPath(String root) {
        if (root == null) {
            throw new IllegalArgumentException("root can't be null");
        }

        if (filesPathCache != null && cachedRoot.hashCode() == root.hashCode())
            return filesPathCache;

        if (root.lastIndexOf('/') == -1) {
            filesPathCache = root + "/" + root + "_files/";
            cachedRoot = root;
            return filesPathCache;
        } else {
            int indexOfSlash = root.lastIndexOf('/');

            if (indexOfSlash != -1) {
                filesPathCache = root + "/" + extractMapName(root) + "_files/";
                cachedRoot = root;
            }

            return filesPathCache;
        }
    }

    private static String extractMapName(String root) {
        int indexOfSlash = root.lastIndexOf('/');

        if (indexOfSlash != -1) {

            return root.substring(indexOfSlash + 1);
        }

        return root;
    }
}