Android Open Source - Reddit-Underground Reddit Request Input






From Project

Back to project page Reddit-Underground.

License

The source code is released under:

This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a co...

If you think the Android project Reddit-Underground 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 2013 Cory Dissinger/*w  w w .j  av a2  s  .co  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.cd.reddit.http.util;

import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.builder.HashCodeBuilder;

public class RedditRequestInput {

  private final List<String> pathSegments;
  private final Map<String, String> queryParams;
  private final Map<String, String> formParams;
  private int hashCode;
  
  public RedditRequestInput(List<String> thePathSegments){
    pathSegments = thePathSegments;
    queryParams = null;
    formParams = null;
  }
  
  public RedditRequestInput(List<String> thePathSegments,
                Map<String, String> theQueryParams){
    pathSegments = thePathSegments;
    queryParams = theQueryParams;
    formParams = null;    
  }

  public RedditRequestInput(List<String> thePathSegments,
                Map<String, String> theQueryParams,
                Map<String, String> theBodyParams){
    pathSegments = thePathSegments;
    queryParams = theQueryParams;
    formParams = theBodyParams;        
  }

  public List<String> getPathSegments() {
    return pathSegments;
  }

  public Map<String, String> getQueryParams() {
    return queryParams;
  }

  public Map<String, String> getFormParams() {
    return formParams;
  }

  @Override
  public String toString(){
    StringBuilder builder = new StringBuilder();
    String nl = System.getProperty("line.separator");
    
    builder.append("--- PATH SEGMENTS ---");
    builder.append(nl);
    for(String seg : pathSegments){
      builder.append(seg);
      builder.append(nl);      
    }
    builder.append(nl);
    
    builder.append("--- QUERY PARAMS ---");    
    builder.append(nl);
    
    if(queryParams != null){
      for(Map.Entry<String, String> entry : queryParams.entrySet()){
        builder.append(entry.getKey() + " = " + entry.getValue());
        builder.append(nl);      
      }    
      builder.append(nl);
    }
    
    builder.append("--- FORM PARAMS ---");    
    builder.append(nl);
    
    if(formParams != null){
      for(Map.Entry<String, String> entry : formParams.entrySet()){
        builder.append(entry.getKey() + " = " + entry.getValue());
        builder.append(nl);      
      }    
      builder.append(nl);
    }
    
    return builder.toString();
  }  
  
  @Override
  public int hashCode(){
    if(hashCode == 0){
      hashCode = new HashCodeBuilder(17, 41)
        .append(pathSegments)
        .append(queryParams)
        .append(queryParams)
        .toHashCode();      
    }
    
    return hashCode;
  }
}




Java Source Code List

com.cd.reddit.RedditException.java
com.cd.reddit.Reddit.java
com.cd.reddit.exception.RedditRateLimitException.java
com.cd.reddit.http.QueryBuilder.java
com.cd.reddit.http.RedditRequestor.java
com.cd.reddit.http.util.RedditApiParameterConstants.java
com.cd.reddit.http.util.RedditApiResourceConstants.java
com.cd.reddit.http.util.RedditRequestInput.java
com.cd.reddit.http.util.RedditRequestResponse.java
com.cd.reddit.json.jackson.RedditJacksonManager.java
com.cd.reddit.json.jackson.RedditJsonParser.java
com.cd.reddit.json.mapping.RedditAccount.java
com.cd.reddit.json.mapping.RedditComment.java
com.cd.reddit.json.mapping.RedditJsonMessage.java
com.cd.reddit.json.mapping.RedditLink.java
com.cd.reddit.json.mapping.RedditMessage.java
com.cd.reddit.json.mapping.RedditMore.java
com.cd.reddit.json.mapping.RedditSubreddit.java
com.cd.reddit.json.mapping.RedditType.java
com.cd.reddit.json.util.RedditComments.java
com.cd.reddit.json.util.RedditJsonConstants.java
com.mikedaguillo.reddit_underground.ApplicationTest.java
com.mikedaguillo.reddit_underground.ImageViewScreen.java
com.mikedaguillo.reddit_underground.LoginScreen.java
com.mikedaguillo.reddit_underground.ManualEntryScreen.java
com.mikedaguillo.reddit_underground.RedditInstance.java
com.mikedaguillo.reddit_underground.RedditListItem.java
com.mikedaguillo.reddit_underground.SavedSubredditsScreen.java
com.mikedaguillo.reddit_underground.StartScreen.java
com.mikedaguillo.reddit_underground.SubredditsSelectionScreen.java
com.mikedaguillo.reddit_underground.TinyDB.java
com.mikedaguillo.reddit_underground.SubredditDatabaseModel.SubredditsDatabaseHelper.java