Android Open Source - sms-smap-gateway Uri Builder






From Project

Back to project page sms-smap-gateway.

License

The source code is released under:

GNU General Public License

If you think the Android project sms-smap-gateway listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.android.smap.utils;
/*w  w  w  .  j a  v  a2s . com*/
import android.net.Uri;
import android.text.TextUtils;

/**
 * The wrapper class for {@link Uri.builder} with null pointer checks
 */
public class UriBuilder {

    /** The instance of {@link Uri.builder} */
    private final Uri.Builder mBuilder = new Uri.Builder();

    /**
     * Appends the given segment to the path.
     * 
     * @param newSegment
     * @return self
     */
    public UriBuilder appendEncodedPath(String newSegment) {
        if (newSegment != null) {
            mBuilder.appendEncodedPath(newSegment);
        }

        return this;
    }

    /**
     * Encodes the key and value and then appends the parameter to the query string.
     * 
     * @param key
     *            which will be encoded
     * @param value
     *            which will be encoded
     * @return self
     */
    public UriBuilder appendQueryParameter(String key, String value) {
        if (key != null && value != null) {
            mBuilder.appendQueryParameter(key, value);
        }

        return this;
    }

    /**
     * Encodes the key and values and then appends the parameter to the query string. Vales will be
     * joined to comma separated string.
     * 
     * @param key
     *            which will be encoded
     * @param values
     *            which will be encoded
     * @return self
     */
    public UriBuilder appendQueryParameter(String key, String[] values) {
        if (key != null && values != null) {
            mBuilder.appendQueryParameter(key, TextUtils.join(",", values));
        }

        return this;
    }

    /**
     * Sets the previously encoded authority.
     * 
     * @param authority
     *            example "google.com"
     * @return self
     */
    public UriBuilder encodedAuthority(String authority) {
        mBuilder.encodedAuthority(authority);
        return this;
    }

    /**
     * Sets the previously encoded fragment.
     * 
     * @param fragment
     * @return self
     */
    public UriBuilder encodedFragment(String fragment) {
        if (fragment != null) {
            mBuilder.encodedFragment(fragment);
        }

        return this;
    }

    /**
     * Sets the scheme.
     * 
     * @param scheme
     *            name or null if this is a relative Uri
     * @return self
     */
    public UriBuilder scheme(String scheme) {
        mBuilder.scheme(scheme);
        return this;
    }

    /**
     * Constructs a Uri with the current attributes.
     * 
     * @return Uri
     * @throws UnsupportedOperationException
     *             if the URI is opaque and the scheme is null
     */
    public Uri build() throws UnsupportedOperationException {
        return mBuilder.build();
    }
}




Java Source Code List

com.android.smap.AppConfig.java
com.android.smap.GatewayApp.java
com.android.smap.PhoneStateWrapper.java
com.android.smap.activities.BaseActivity.java
com.android.smap.activities.FragmentWrapperActivity.java
com.android.smap.activities.MainActivity.java
com.android.smap.adapters.MenuDrawerAdapter.java
com.android.smap.api.ApiConstants.java
com.android.smap.api.models.Gojo.java
com.android.smap.api.models.Node.java
com.android.smap.api.models.SmapException.java
com.android.smap.api.models.Status.java
com.android.smap.api.models.validator.ModelValidator.java
com.android.smap.api.models.validator.Required.java
com.android.smap.api.requests.ApiRequest.java
com.android.smap.api.requests.GojoRequest.java
com.android.smap.api.requests.StatusRequest.java
com.android.smap.commonsware.wakefull.AlarmReceiver.java
com.android.smap.commonsware.wakefull.WakefulIntentService.java
com.android.smap.controllers.ControllerErrorListener.java
com.android.smap.controllers.ControllerError.java
com.android.smap.controllers.ControllerFactory.java
com.android.smap.controllers.ControllerListener.java
com.android.smap.controllers.Controller.java
com.android.smap.controllers.EmailController.java
com.android.smap.controllers.GojoController.java
com.android.smap.controllers.UIPagingController.java
com.android.smap.controllers.UIRequestController.java
com.android.smap.fragments.BaseFragment.java
com.android.smap.fragments.HomeFragment.java
com.android.smap.models.MenuDrawerItem.java
com.android.smap.models.TextMessage.java
com.android.smap.samuel.Samuel.java
com.android.smap.sms.CellularModem.java
com.android.smap.sms.GatewayService.java
com.android.smap.sms.MonitorService.java
com.android.smap.sms.ScheduleMonitoringListener.java
com.android.smap.sms.ServiceRebooter.java
com.android.smap.ui.ArrayVelocAdapter.java
com.android.smap.ui.OnErrorTouchedListener.java
com.android.smap.ui.Operation.java
com.android.smap.ui.VelocAdapter.java
com.android.smap.ui.ViewBinder.java
com.android.smap.ui.ViewQuery.java
com.android.smap.ui.views.AnimatedNetworkImageView.java
com.android.smap.ui.views.ErrorView.java
com.android.smap.ui.views.FontableTextView.java
com.android.smap.utils.BitmapLruCache.java
com.android.smap.utils.MWAPNUtils.java
com.android.smap.utils.MWAnimUtil.java
com.android.smap.utils.MWAssetsUtils.java
com.android.smap.utils.MWConnectionUtils.java
com.android.smap.utils.MWEmailUtils.java
com.android.smap.utils.MWUiUtils.java
com.android.smap.utils.PreferenceWrapper.java
com.android.smap.utils.Refresher.java
com.android.smap.utils.UriBuilder.java