org.tweetalib.android.TwitterPaging.java Source code

Java tutorial

Introduction

Here is the source code for org.tweetalib.android.TwitterPaging.java

Source

/*
 * Copyright (C) 2013 Chris Lacy
 *
 * 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 org.tweetalib.android;

import android.util.Log;

import org.appdotnet4j.model.AdnPaging;

import twitter4j.Paging;

public class TwitterPaging {

    public static final int DEFAULT_STATUS_COUNT = 100;
    public static final int INCREMENTING_STATUS_COUNT_START = 25;
    public static final int INCREMENTING_STATUS_COUNT_MAX = 200;

    /*
     *
    */
    public static TwitterPaging createGetOlder(long statusId) {
        return new TwitterPaging(null, null, null, statusId);
    }

    public static TwitterPaging createGetNewer(long statusId) {
        return new TwitterPaging(null, null, statusId, null);
    }

    public static TwitterPaging createGetOlderWithPageSize(long statusId, int count) {
        return new TwitterPaging(null, count, null, statusId);
    }

    public static TwitterPaging createGetNewerWithPageSize(long statusId, int count) {
        return new TwitterPaging(null, count, statusId, null);
    }

    public static TwitterPaging createGetMostRecent() {
        return new TwitterPaging(1, null, null, null);
    }

    public static TwitterPaging createGetMostRecent(int count) {
        return new TwitterPaging(1, count, null, null);
    }

    /*
     *
    */
    public TwitterPaging(Integer page, Integer count, Long sinceId, Long maxId) {
        if (page != null) {
            mPage = page;
        }
        if (count != null && count > 0) {
            mCount = count;
        } else {
            mCount = DEFAULT_STATUS_COUNT;
        }
        if (maxId != null && maxId > 0) {
            mMaxId = maxId - 1; // Decrement by 1 so we don't fetch the current
            // tweet again. Bit of
            // a hack...
            // TODO: Fix me
            if (mMaxId < 0) {
                Log.d("ERROR", "mMaxId is " + mMaxId.longValue() + ", must be >= 0");
                mMaxId = (long) 0;
            }
        }
        if (sinceId != null) {
            mSinceId = sinceId;
            if (mSinceId < 0) {
                Log.d("ERROR", "mSinceId is " + mSinceId.longValue() + ", must be >= 0");
                mSinceId = (long) 0;
            }
        }
    }

    /*
     *
    */
    public Paging getT4JPaging() {
        Paging result = new Paging();
        if (mMaxId == null && mSinceId == null) {

            if (mPage != null) {
                result.setPage(mPage);
            } else {
                result.setPage(1);
            }
        } else {
            if (mMaxId != null) {
                if (mMaxId.longValue() >= 0) {
                    result.setMaxId(mMaxId);
                } else {
                    Log.d("ERROR", "mMaxId is " + mMaxId.longValue() + ", must be >= 0");
                }
            }
            if (mSinceId != null) {
                if (mSinceId.longValue() >= 0) {
                    result.setSinceId(mSinceId);
                } else {
                    Log.d("ERROR", "mSinceId is " + mSinceId.longValue() + ", must be >= 0");
                }
            }
        }

        if (mCount != null) {
            result.setCount(mCount);
        } else {
            result.setCount(DEFAULT_STATUS_COUNT);
        }

        return result;
    }

    public AdnPaging getAdnPaging() {

        AdnPaging result = new AdnPaging(1);
        if (mMaxId == null && mSinceId == null) {
            if (mPage != null) {
                result.mPage = mPage;
            } else {
                result.mPage = 1;
            }
        } else {
            if (mMaxId != null) {
                if (mMaxId.longValue() >= 0) {
                    result.setMaxId(mMaxId);
                }
            }
            if (mSinceId != null) {
                if (mSinceId.longValue() >= 0) {
                    result.setSinceId(mSinceId);
                }
            }
        }

        return result;
    }

    public Integer getCount() {
        return mCount;
    }

    private Integer mPage;
    private final Integer mCount;
    private Long mMaxId;
    private Long mSinceId;

}