Android Open Source - pequeno-android-spotify Enum Utils






From Project

Back to project page pequeno-android-spotify.

License

The source code is released under:

Apache License

If you think the Android project pequeno-android-spotify 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

/**
 * Copyright 2015 ze-pequeno/*w ww .  ja v  a2 s  .  c  o  m*/
 *
 * 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.
 */

package com.pequeno.android.spotify.api.utils;

import android.text.TextUtils;

import java.util.ArrayList;

public class EnumUtils
{
    /**
     * Hide constructor
     */
    private EnumUtils() {}

    /**
     * Create enum from string value by ignoring case
     * @param value String value to convert
     * @param values Available values
     * @param <T> Enum type to return
     * @return Enum corresponding to value
     */
    public static <T extends Enum<T>> T create(String value, T[] values)
    {
        if (value == null) {
            throw new IllegalArgumentException();
        }
        for (T e : values) {
            if (value.equalsIgnoreCase(e.toString())) {
                return e;
            }
        }
        throw new IllegalArgumentException();
    }

    /**
     * Concat enumeration list
     * @param values Values
     * @param <T> Enumeration type
     * @return Values as string
     */
    public static <T extends Enum<T>> String join(T[] values)
    {
        return join(values, ",");
    }
    
    /**
     * Concat enumeration list
     * @param values Values
     * @param separator Separator
     * @param <T> Enumeration type
     * @return Values as string
     */
    public static <T extends Enum<T>> String join(T[] values, String separator)
    {
        StringBuilder sb = new StringBuilder();
        for (T v : values) {
            if (sb.length() > 1) {
                sb.append(separator);
            }
            sb.append(v.toString().toLowerCase());
        }
        return sb.toString();
    }
}




Java Source Code List

com.pequeno.android.spotify.api.business.AlbumSimplified.java
com.pequeno.android.spotify.api.business.Album.java
com.pequeno.android.spotify.api.business.ArtistSimplified.java
com.pequeno.android.spotify.api.business.Artist.java
com.pequeno.android.spotify.api.business.Copyright.java
com.pequeno.android.spotify.api.business.Error.java
com.pequeno.android.spotify.api.business.ExternalCollection.java
com.pequeno.android.spotify.api.business.ExternalId.java
com.pequeno.android.spotify.api.business.ExternalIds.java
com.pequeno.android.spotify.api.business.ExternalUrl.java
com.pequeno.android.spotify.api.business.ExternalUrls.java
com.pequeno.android.spotify.api.business.Followers.java
com.pequeno.android.spotify.api.business.Image.java
com.pequeno.android.spotify.api.business.Paging.java
com.pequeno.android.spotify.api.business.PlaylistSimplified.java
com.pequeno.android.spotify.api.business.PlaylistTrack.java
com.pequeno.android.spotify.api.business.PlaylistUri.java
com.pequeno.android.spotify.api.business.Playlist.java
com.pequeno.android.spotify.api.business.SavedTrack.java
com.pequeno.android.spotify.api.business.SpotifyUri.java
com.pequeno.android.spotify.api.business.TrackSimplified.java
com.pequeno.android.spotify.api.business.Track.java
com.pequeno.android.spotify.api.business.UserPrivate.java
com.pequeno.android.spotify.api.business.UserPublic.java
com.pequeno.android.spotify.api.business.Value.java
com.pequeno.android.spotify.api.business.enums.AlbumType.java
com.pequeno.android.spotify.api.business.enums.DatePrecision.java
com.pequeno.android.spotify.api.business.enums.IdentifierType.java
com.pequeno.android.spotify.api.business.enums.ProductType.java
com.pequeno.android.spotify.api.business.enums.SearchType.java
com.pequeno.android.spotify.api.business.enums.SpotifyType.java
com.pequeno.android.spotify.api.business.enums.UrlType.java
com.pequeno.android.spotify.api.http.SearchService.java
com.pequeno.android.spotify.api.http.params.Parameter.java
com.pequeno.android.spotify.api.http.params.Parameters.java
com.pequeno.android.spotify.api.http.params.SearchParameters.java
com.pequeno.android.spotify.api.http.responses.SearchResponse.java
com.pequeno.android.spotify.api.utils.EnumUtils.java
com.pequeno.android.spotify.app.roboguice.SpotifyAppModule.java
com.pequeno.android.spotify.app.roboguice.ui.HomeActivity.java
pequeno.android.spotify.api.ApplicationTest.java
pequeno.android.spotifyapi.ApplicationTest.java