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

io.pelle.mango.client.base.module.ModuleUtils Maven / Gradle / Ivy

The newest version!
package io.pelle.mango.client.base.module;

import io.pelle.mango.client.base.layout.IModuleUI;

import java.util.HashMap;
import java.util.Map;

import com.google.common.base.Joiner;
import com.google.common.base.Splitter;

public abstract class ModuleUtils {
	public static final String getBaseModuleUrl(String moduleId) {
		return IModule.MODULE_ID_PARAMETER_NAME + "=" + moduleId;
	}

	public static final String getBaseUIModuleUrl(String uiModuleId) {
		return IModuleUI.UI_MODULE_ID_PARAMETER_NAME + "=" + uiModuleId;
	}

	public static boolean urlContainsModuleId(String moduleUrl, String moduleId) {
		return moduleId.equals(getModuleId(moduleUrl));
	}

	public static String getModuleId(String moduleUrl) {
		return getUrlParameter(moduleUrl, IModule.MODULE_ID_PARAMETER_NAME);
	}

	public static String getUIModuleId(String moduleUrl) {
		return getUrlParameter(moduleUrl, IModuleUI.UI_MODULE_ID_PARAMETER_NAME);
	}

	public static String getUrlParameter(String moduleUrl, String parameterName) {
		Map urlSegments = getUrlParametersInternal(moduleUrl);
		return urlSegments.get(parameterName);
	}

	public static boolean hasUrlParameter(String moduleUrl, String parameterName) {
		return getUrlParameter(moduleUrl, parameterName) != null;
	}

	public static Long getLongUrlParameter(String moduleUrl, String parameterName) {
		String parameter = getUrlParameter(moduleUrl, parameterName);

		try {
			return Long.parseLong(parameter);
		} catch (NumberFormatException e) {
			return null;
		}
	}

	public static boolean hasLongUrlParameter(String moduleUrl, String parameterName) {
		return getLongUrlParameter(moduleUrl, parameterName) != null;
	}

	public static String concatenate(String moduleUrl1, String moduleUrl2) {
		return Joiner.on("&").join(moduleUrl1, moduleUrl2);
	}

	private static Map getUrlParametersInternal(String moduleUrl) {
		return Splitter.on("&").withKeyValueSeparator("=").split(moduleUrl);
	}

	public static Map getUrlParameters(String moduleUrl) {
		Map result = new HashMap();

		result.putAll(Splitter.on("&").withKeyValueSeparator("=").split(moduleUrl));

		return result;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy