public static Set<FragmentParams> getParams(PlaceRequest currentPlace) { return getParams(currentPlace.getParameterNames()); }
/** * get/create token out of placeRequest. * * @return token string */ public final String getToken() { if (placeRequest == null) { return null; } if (placeRequest.getParameterNames() == null || placeRequest.getParameterNames().size() == 0) { return placeRequest.getNameToken(); } final StringBuilder token = new StringBuilder(); token.append(placeRequest.getNameToken()); for (final String param : placeRequest.getParameterNames()) { token.append(';'); token.append(param); token.append('='); token.append(placeRequest.getParameter(param, StringUtils.EMPTY)); } return token.toString(); } }
/** * get/create token out of placeRequest. * * @return token string */ public final String getToken() { if (placeRequest == null) { return null; } if (placeRequest.getParameterNames() == null || placeRequest.getParameterNames().size() == 0) { return placeRequest.getNameToken(); } final StringBuilder token = new StringBuilder(); token.append(placeRequest.getNameToken()); for (final String param : placeRequest.getParameterNames()) { token.append(';'); token.append(param); token.append('='); token.append(placeRequest.getParameter(param, StringUtils.EMPTY)); } return token.toString(); } }
@Override public String toPlaceToken(PlaceRequest placeRequest) throws TokenFormatException { String placeToken = placeRequest.getNameToken(); StringBuilder queryStringBuilder = new StringBuilder(); String querySeparator = ""; for (String parameterName : placeRequest.getParameterNames()) { String parameterValue = placeRequest.getParameter(parameterName, null); if (parameterValue != null) { String encodedParameterValue = urlUtils.encodeQueryString(parameterValue); if (placeToken.contains("/{" + parameterName + "}")) { // route parameter placeToken = placeToken.replace("{" + parameterName + "}", encodedParameterValue); } else { // query parameter queryStringBuilder.append(querySeparator).append(parameterName).append("=") .append(encodedParameterValue); querySeparator = "&"; } } } String queryString = queryStringBuilder.toString(); if (!queryString.isEmpty()) { placeToken = placeToken + "?" + queryString; } return placeToken; }
@Override public String toPlaceToken(final PlaceRequest placeRequest) throws TokenFormatException { String placeToken = placeRequest.getNameToken(); final StringBuilder queryStringBuilder = new StringBuilder(); String querySeparator = StringUtils.EMPTY; for (final String parameterName : placeRequest.getParameterNames()) { final String parameterValue = placeRequest.getParameter(parameterName, null); if (parameterValue != null) { final String encodedParameterValue = urlUtils.encodeQueryString(parameterValue); if (placeToken.contains("/{" + parameterName + "}")) { // route parameter placeToken = placeToken.replace("{" + parameterName + "}", encodedParameterValue); } else { // query parameter queryStringBuilder.append(querySeparator).append(parameterName).append('=') .append(encodedParameterValue); querySeparator = "&"; } } } final String queryString = queryStringBuilder.toString(); if (!queryString.isEmpty()) { placeToken = placeToken + "?" + queryString; // NOPMD } return placeToken; }
@Override public String toPlaceToken(final PlaceRequest placeRequest) throws TokenFormatException { String placeToken = placeRequest.getNameToken(); final StringBuilder queryStringBuilder = new StringBuilder(); String querySeparator = StringUtils.EMPTY; for (final String parameterName : placeRequest.getParameterNames()) { final String parameterValue = placeRequest.getParameter(parameterName, null); if (parameterValue != null) { final String encodedParameterValue = urlUtils.encodeQueryString(parameterValue); if (placeToken.contains("/{" + parameterName + "}")) { // route parameter placeToken = placeToken.replace("{" + parameterName + "}", encodedParameterValue); } else { // query parameter queryStringBuilder.append(querySeparator).append(parameterName).append('=') .append(encodedParameterValue); querySeparator = "&"; } } } final String queryString = queryStringBuilder.toString(); if (!queryString.isEmpty()) { placeToken = placeToken + "?" + queryString; // NOPMD } return placeToken; }
/** * Converts a place token to an unescaped string. If the name token or the parameters contain any * of the separator symbols, they will be escaped with our custom escaping mechanism. * * @param placeRequest The place request to convert. * @return The unescaped string for the place token corresponding to that place request. * @throws TokenFormatException if there is an error converting. */ private String placeTokenToUnescapedString(PlaceRequest placeRequest) throws TokenFormatException { StringBuilder out = new StringBuilder(); out.append(customEscape(placeRequest.getNameToken())); Set<String> params = placeRequest.getParameterNames(); if (params != null) { for (String name : params) { out.append(paramSeparator).append(customEscape(name)).append(valueSeparator).append( customEscape(placeRequest.getParameter(name, null))); } } return out.toString(); }