Android Open Source - cirrus Time Layout






From Project

Back to project page cirrus.

License

The source code is released under:

Apache License

If you think the Android project cirrus 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

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2013.08.02 at 05:08:30 PM PDT 
////  ww w.j  av  a  2  s  . c  o  m


package com.inktomi.cirrus.forecast;

import android.util.Log;

import com.android.internal.util.Predicate;
import com.inktomi.cirrus.DateTransform;

import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.TreeSet;

@Element
public class TimeLayout {

    @Element(type = String.class, name = "layout-key", required = true)
    public String layoutKey;

    @ElementList(type = Date.class, entry = "start-valid-time", required = false, inline = true)
    public List<Date> startValidTime;

    @ElementList(type = Date.class, entry = "end-valid-time", required = false, inline = true)
    public List<Date> endValidTime;

    @Attribute(name = "time-coordinate", required = true)
    public TimeCoordinate timeCoordinate;

    @Attribute(name = "summarization", required = false)
    public String summarization;

    public int getIndexForTime(Date when){
        // Are we looking for a range between START and END?
        if( null != startValidTime && null != endValidTime && startValidTime.size() == endValidTime.size() ){
            for( int i = 0; i < startValidTime.size(); i++ ){
                Date startTime = startValidTime.get(i);
                Date endTime = endValidTime.get(i);

                // Are we between them yet?
                if( startTime.compareTo(when) == 0 || startTime.before(when) ){
                    // Start time is now or it's before the target time.

                    if( endTime.compareTo(when) == 0 || endTime.after(when) ){
                        // End time is now, or it's after the target time.

                        return i;
                    }
                }
            }
        }

        // Do we just have a bunch of start times?
        if( null != startValidTime && null == endValidTime && !startValidTime.isEmpty() ){
            for( int i = 0; i < startValidTime.size(); i++ ){
                Date startTime = startValidTime.get(i);

                // Are we between them yet?
                if( startTime.compareTo(when) == 0 || startTime.before(when) ){
                    // Start time is now or it's before the target time.

                    // Is the next element after our time, or are we at the end?
                    if( startValidTime.size() == i ){
                        // We're at the end of the list, so we have to return this one.
                        return i;
                    }

                    // Check to see if we're before the next interval..
                    if( startValidTime.size() > i + 1 ){
                        Date nextTimeInterval = startValidTime.get(i + 1);

                        if( nextTimeInterval.compareTo(when) == 0 || nextTimeInterval.after(when) ){
                            return i;
                        }
                    }
                }
            }
        }

        return -1;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        TimeLayout that = (TimeLayout) o;

        if (layoutKey != null ? !layoutKey.equals(that.layoutKey) : that.layoutKey != null)
            return false;

        return true;
    }

    @Override
    public int hashCode() {
        return layoutKey != null ? layoutKey.hashCode() : 0;
    }
}




Java Source Code List

com.android.volley.AuthFailureError.java
com.android.volley.CacheDispatcher.java
com.android.volley.Cache.java
com.android.volley.DefaultRetryPolicy.java
com.android.volley.ExecutorDelivery.java
com.android.volley.NetworkDispatcher.java
com.android.volley.NetworkError.java
com.android.volley.NetworkResponse.java
com.android.volley.Network.java
com.android.volley.NoConnectionError.java
com.android.volley.ParseError.java
com.android.volley.RequestQueue.java
com.android.volley.Request.java
com.android.volley.ResponseDelivery.java
com.android.volley.Response.java
com.android.volley.RetryPolicy.java
com.android.volley.ServerError.java
com.android.volley.TimeoutError.java
com.android.volley.VolleyError.java
com.android.volley.VolleyLog.java
com.android.volley.toolbox.AndroidAuthenticator.java
com.android.volley.toolbox.Authenticator.java
com.android.volley.toolbox.BasicNetwork.java
com.android.volley.toolbox.ByteArrayPool.java
com.android.volley.toolbox.ClearCacheRequest.java
com.android.volley.toolbox.DiskBasedCache.java
com.android.volley.toolbox.HttpClientStack.java
com.android.volley.toolbox.HttpHeaderParser.java
com.android.volley.toolbox.HttpStack.java
com.android.volley.toolbox.HurlStack.java
com.android.volley.toolbox.ImageLoader.java
com.android.volley.toolbox.ImageRequest.java
com.android.volley.toolbox.JsonArrayRequest.java
com.android.volley.toolbox.JsonObjectRequest.java
com.android.volley.toolbox.JsonRequest.java
com.android.volley.toolbox.NetworkImageView.java
com.android.volley.toolbox.NoCache.java
com.android.volley.toolbox.PoolingByteArrayOutputStream.java
com.android.volley.toolbox.RequestFuture.java
com.android.volley.toolbox.StringRequest.java
com.android.volley.toolbox.Volley.java
com.inktomi.cirrus.BitmapLruCache.java
com.inktomi.cirrus.CirrusClient.java
com.inktomi.cirrus.DateTransform.java
com.inktomi.cirrus.EnumTransform.java
com.inktomi.cirrus.NDFDRequest.java
com.inktomi.cirrus.SampleActivity.java
com.inktomi.cirrus.URLStrings.java
com.inktomi.cirrus.WeatherUtils.java
com.inktomi.cirrus.forecast.Anomaly.java
com.inktomi.cirrus.forecast.Area.java
com.inktomi.cirrus.forecast.Categories.java
com.inktomi.cirrus.forecast.Category.java
com.inktomi.cirrus.forecast.Circle.java
com.inktomi.cirrus.forecast.City.java
com.inktomi.cirrus.forecast.ConciseName.java
com.inktomi.cirrus.forecast.CreationDate.java
com.inktomi.cirrus.forecast.DataSource.java
com.inktomi.cirrus.forecast.Data.java
com.inktomi.cirrus.forecast.Datum.java
com.inktomi.cirrus.forecast.DecimalVal.java
com.inktomi.cirrus.forecast.Error.java
com.inktomi.cirrus.forecast.Field.java
com.inktomi.cirrus.forecast.Head.java
com.inktomi.cirrus.forecast.HeightUnits.java
com.inktomi.cirrus.forecast.Height.java
com.inktomi.cirrus.forecast.Icon.java
com.inktomi.cirrus.forecast.Layer.java
com.inktomi.cirrus.forecast.Level.java
com.inktomi.cirrus.forecast.LikelihoodUnits.java
com.inktomi.cirrus.forecast.Location.java
com.inktomi.cirrus.forecast.MoreWeatherInformation.java
com.inktomi.cirrus.forecast.NwsZone.java
com.inktomi.cirrus.forecast.OperationalMode.java
com.inktomi.cirrus.forecast.Parameters.java
com.inktomi.cirrus.forecast.PercentageValue.java
com.inktomi.cirrus.forecast.Point.java
com.inktomi.cirrus.forecast.Probability.java
com.inktomi.cirrus.forecast.Product.java
com.inktomi.cirrus.forecast.ProductionCenter.java
com.inktomi.cirrus.forecast.Radius.java
com.inktomi.cirrus.forecast.Rectangle.java
com.inktomi.cirrus.forecast.Source.java
com.inktomi.cirrus.forecast.SrsName.java
com.inktomi.cirrus.forecast.StartValidTime.java
com.inktomi.cirrus.forecast.TemperatureValue.java
com.inktomi.cirrus.forecast.TimeCoordinate.java
com.inktomi.cirrus.forecast.TimeLayout.java
com.inktomi.cirrus.forecast.Uncertainty.java
com.inktomi.cirrus.forecast.ValueForRange.java
com.inktomi.cirrus.forecast.ValueList.java
com.inktomi.cirrus.forecast.WeatherResponse.java
com.inktomi.cirrus.forecast.WindDirectionValue.java
com.inktomi.cirrus.forecast.WindspeedValue.java