Java tutorial
/* * Copyright (c) 2004-2015 Stuart Boston * * This file is part of TheMovieDB API. * * TheMovieDB API is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * TheMovieDB API is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with TheMovieDB API. If not, see <http://www.gnu.org/licenses/>. * */ package com.rjuarez.webapp.tools; import java.util.EnumSet; import org.apache.commons.lang3.StringUtils; public enum TheMovieDatabaseQueries { API_KEY("api_key="), APPEND("append_to_response="), CERTIFICATION("certification="), CERTIFICATION_COUNTRY( "certification_country="), CERTIFICATION_LTE("certification.lte="), CONFIRM("confirm="), COUNTRY( "country="), END_DATE("end_date="), EPISODE_NUMBER("episode_number="), EXTERNAL_SOURCE( "external_source="), FAVORITE("favorite="), FIRST_AIR_DATE_GTE( "first_air_date.gte"), FIRST_AIR_DATE_LTE( "first_air_date.lte"), FIRST_AIR_DATE_YEAR( "first_air_date_year="), GUEST_SESSION_ID( "guest_session_id="), ID("id="), INCLUDE_ADULT( "include_adult="), INCLUDE_ALL_MOVIES( "include_all_movies="), INCLUDE_IMAGE_LANGUAGE( "include_image_language="), INCLUDE_VIDEO( "include_video="), LANGUAGE( "language="), MOVIE_ID( "movie_id="), MOVIE_WATCHLIST( "movie_watchlist="), PAGE( "page="), PASSWORD( "password="), PRIMARY_RELEASE_YEAR( "primary_release_year="), QUERY( "query="), RELEASE_DATE_GTE( "release_date.gte="), RELEASE_DATE_LTE( "release_date.lte="), SEARCH_TYPE( "search_type="), SEASON_NUMBER( "season_number="), SESSION_ID( "session_id="), SORT_BY( "sort_by="), SORT_ORDER( "sort_order="), START_DATE( "start_date="), TIMEZONE( "timezone="), TOKEN( "request_token="), USERNAME( "username="), VALUE( "value="), VOTE_AVERAGE_GTE( "vote_average.gte="), VOTE_AVERAGE_LTE( "vote_average.lte="), VOTE_COUNT_GTE( "vote_count.gte="), VOTE_COUNT_LTE( "vote_count.lte="), WITH_CAST( "with_cast="), WITH_COMPANIES( "with_companies="), WITH_CREW( "with_crew="), WITH_GENRES( "with_genres="), WITH_KEYWORDS( "with_keywords="), WITH_NETWORKS( "with_networks="), WITH_PEOPLE( "with_people="), YEAR( "year="); private final String value; private TheMovieDatabaseQueries(final String value) { this.value = value; } public String getValue() { return this.value; } public static TheMovieDatabaseQueries fromString(final String value) { if (StringUtils.isNotBlank(value)) { for (final TheMovieDatabaseQueries param : EnumSet.allOf(TheMovieDatabaseQueries.class)) { if (value.equalsIgnoreCase(param.value)) { return param; } } } // We've not found the type! throw new IllegalArgumentException("Value '" + value + "' not recognised"); } }