All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.toolresults.model.Duration Maven / Gradle / Ivy

There is a newer version: v1-rev20200224-1.30.8
Show newest version
/*
 * Copyright 2010 Google Inc.
 *
 * 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.
 */
/*
 * This code was generated by https://github.com/google/apis-client-generator/
 * (build: 2016-05-19 20:48:09 UTC)
 * on 2016-05-25 at 13:45:39 UTC 
 * Modify at your own risk.
 */

package com.google.api.services.toolresults.model;

/**
 * A Duration represents a signed, fixed-length span of time represented as a count of seconds and
 * fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts
 * like "day" or "month". It is related to Timestamp in that the difference between two Timestamp
 * values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately
 * +-10,000 years.
 *
 * Example 1: Compute Duration from two Timestamps in pseudo code.
 *
 * Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
 *
 * duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
 *
 * if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if
 * (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos +=
 * 1000000000; }
 *
 * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
 *
 * Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
 *
 * end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
 *
 * if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Tool Results API. For a detailed explanation * see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class Duration extends com.google.api.client.json.GenericJson { /** * Signed fractions of a second at nanosecond resolution of the span of time. Durations less than * one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. * For durations of one second or more, a non-zero value for the `nanos` field must be of the same * sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer nanos; /** * Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 * inclusive. * The value may be {@code null}. */ @com.google.api.client.util.Key @com.google.api.client.json.JsonString private java.lang.Long seconds; /** * Signed fractions of a second at nanosecond resolution of the span of time. Durations less than * one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. * For durations of one second or more, a non-zero value for the `nanos` field must be of the same * sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive. * @return value or {@code null} for none */ public java.lang.Integer getNanos() { return nanos; } /** * Signed fractions of a second at nanosecond resolution of the span of time. Durations less than * one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. * For durations of one second or more, a non-zero value for the `nanos` field must be of the same * sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive. * @param nanos nanos or {@code null} for none */ public Duration setNanos(java.lang.Integer nanos) { this.nanos = nanos; return this; } /** * Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 * inclusive. * @return value or {@code null} for none */ public java.lang.Long getSeconds() { return seconds; } /** * Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 * inclusive. * @param seconds seconds or {@code null} for none */ public Duration setSeconds(java.lang.Long seconds) { this.seconds = seconds; return this; } @Override public Duration set(String fieldName, Object value) { return (Duration) super.set(fieldName, value); } @Override public Duration clone() { return (Duration) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy