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

com.google.api.ads.admanager.axis.v202308.AvailabilityForecast Maven / Gradle / Ivy

There is a newer version: 5.6.0
Show newest version
// Copyright 2023 Google LLC
//
// 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.

/**
 * AvailabilityForecast.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Mar 02, 2009 (07:08:06 PST) WSDL2Java emitter.
 */

package com.google.api.ads.admanager.axis.v202308;


/**
 * Describes predicted inventory availability for a {@link ProspectiveLineItem}.
 * 
 *             

Inventory has three threshold values along a line of * possible inventory. From least to most, * these are: * *

    *
  • Available units -- How many units can be booked without * affecting any other line items. * Booking more than this number can cause lower and same * priority line items to underdeliver. *
  • Possible units -- How many units can be booked without * affecting any higher priority line * items. Booking more than this number can cause the line * item to underdeliver. *
  • Matched (forecast) units -- How many units satisfy * all specified criteria. *
* *

Underdelivery is caused by overbooking. However, if * more impressions are served than are * predicted, the extra available inventory might enable * all inventory guarantees to be met without * overbooking. */ public class AvailabilityForecast implements java.io.Serializable { /* Uniquely identifies this availability forecast. This value * is read-only and is assigned by * Google when the forecast is created. The attribute * will be either the ID of the {@link * LineItem} object it represents, or {@code null} if * the forecast represents a prospective line * item. */ private java.lang.Long lineItemId; /* The unique ID for the {@link Order} object that this line item * belongs to, or {@code null} if * the forecast represents a prospective line item without * an {@link LineItem#orderId} set. */ private java.lang.Long orderId; /* The unit with which the goal or cap of the {@link LineItem} * is defined. Will be the same value * as {@link Goal#unitType} for both a set line item * or a prospective one. */ private com.google.api.ads.admanager.axis.v202308.UnitType unitType; /* The number of units, defined by {@link Goal#unitType}, that * can be booked without affecting the * delivery of any reserved line items. Exceeding this * value will not cause an overbook, but lower * priority line items may not run. */ private java.lang.Long availableUnits; /* The number of units, defined by {@link Goal#unitType}, that * have already been served if the * reservation is already running. */ private java.lang.Long deliveredUnits; /* The number of units, defined by {@link Goal#unitType}, that * match the specified targeting and * delivery settings. */ private java.lang.Long matchedUnits; /* The maximum number of units, defined by {@link Goal#unitType}, * that could be booked by taking * inventory away from lower priority line items and * some same priority line items. * *

Please note: booking this number may cause lower * priority line items and some same priority * line items to underdeliver. */ private java.lang.Long possibleUnits; /* The number of reserved units, defined by {@link Goal#unitType}, * requested. This can be an * absolute or percentage value. */ private java.lang.Long reservedUnits; /* The breakdowns for each time window defined in {@link ForecastBreakdownOptions#timeWindows}. * *

If no breakdown was requested through {@link AvailabilityForecastOptions#breakdown}, * this * field will be empty. * * If targeting breakdown was requested by {@link ForecastBreakdownOptions#targets} * with no time * breakdown, this list will contain a single {@link * ForecastBreakdown} corresponding to the time * window of the forecasted {@link LineItem}. * * Otherwise, each time window defined by {@link ForecastBreakdownOptions#timeWindows} * will * correspond to one {@link ForecastBreakdown} in the * same order. * * Targeting breakdowns for every time window are returned * in * {@link ForecastBreakdown#breakdownEntries}. * * Some examples: * * For a targeting breakdown in the form of * {@code ForecastBreakdownOptions{targets=[IU=A, {IU=B, * creative=1x1}]}}, the {@link #breakdowns} * field may look like: * {@code [ForecastBreakdown{breakdownEntries=[availableUnits=10, * availableUnits=20]}]} * where the entries correspond to {@code {IU=A}} and * {@code {IU=B, creative=1x1}} respectively. * * For a time breakdown in the form of * {@code ForecastBreakdownOptions{timeWindows=[1am, * 2am, 3am]}}, the {@code breakdowns} field may * look like:

{@code
     *                 [
     *                 ForecastBreakdown{startTime=1am, endTime=2am, breakdownEntries=[availableUnits=10]},
     * ForecastBreakdown{startTime=2am, endTime=3am, breakdownEntries=[availableUnits=20]}
     * ]
     *                 }
* where the two {@link #ForecastBreakdown} correspond * to the [1am, 2am) and [2am, 3am) time * windows respecively. * * For a two-dimensional breakdown in the form of * {@code ForecastBreakdownOptions{timeWindows=[1am, * 2am, 3am], targets=[IU=A, IU=B]}, the {@code * breakdowns} field may look like:
{@code
     *                 [
     *                 ForecastBreakdown{startTime=1am, endTime=2am,
     *                 breakdownEntries=[availableUnits=10, availableUnits=100]},
     * ForecastBreakdown{startTime=2am, endTime=3am,
     *                 breakdownEntries=[availableUnits=20, availableUnits=200]}
     * ]
     *                 }
* where the first ForecastBreakdown respresents the * [1am, 2am) time window with two entries for * the IU A and IU B respectively; and the second ForecastBreakdown * represents the [2am, 3am) * time window also with two entries corresponding to * the two IUs. */ private com.google.api.ads.admanager.axis.v202308.ForecastBreakdown[] breakdowns; /* The forecast result broken down by the targeting of the forecasted * line item. */ private com.google.api.ads.admanager.axis.v202308.TargetingCriteriaBreakdown[] targetingCriteriaBreakdowns; /* List of {@link ContendingLineItem contending line items} for * this forecast. */ private com.google.api.ads.admanager.axis.v202308.ContendingLineItem[] contendingLineItems; /* Views of this forecast, with alternative unit types. */ private com.google.api.ads.admanager.axis.v202308.AlternativeUnitTypeForecast[] alternativeUnitTypeForecasts; public AvailabilityForecast() { } public AvailabilityForecast( java.lang.Long lineItemId, java.lang.Long orderId, com.google.api.ads.admanager.axis.v202308.UnitType unitType, java.lang.Long availableUnits, java.lang.Long deliveredUnits, java.lang.Long matchedUnits, java.lang.Long possibleUnits, java.lang.Long reservedUnits, com.google.api.ads.admanager.axis.v202308.ForecastBreakdown[] breakdowns, com.google.api.ads.admanager.axis.v202308.TargetingCriteriaBreakdown[] targetingCriteriaBreakdowns, com.google.api.ads.admanager.axis.v202308.ContendingLineItem[] contendingLineItems, com.google.api.ads.admanager.axis.v202308.AlternativeUnitTypeForecast[] alternativeUnitTypeForecasts) { this.lineItemId = lineItemId; this.orderId = orderId; this.unitType = unitType; this.availableUnits = availableUnits; this.deliveredUnits = deliveredUnits; this.matchedUnits = matchedUnits; this.possibleUnits = possibleUnits; this.reservedUnits = reservedUnits; this.breakdowns = breakdowns; this.targetingCriteriaBreakdowns = targetingCriteriaBreakdowns; this.contendingLineItems = contendingLineItems; this.alternativeUnitTypeForecasts = alternativeUnitTypeForecasts; } @Override public String toString() { return com.google.common.base.MoreObjects.toStringHelper(this.getClass()) .omitNullValues() .add("alternativeUnitTypeForecasts", getAlternativeUnitTypeForecasts()) .add("availableUnits", getAvailableUnits()) .add("breakdowns", getBreakdowns()) .add("contendingLineItems", getContendingLineItems()) .add("deliveredUnits", getDeliveredUnits()) .add("lineItemId", getLineItemId()) .add("matchedUnits", getMatchedUnits()) .add("orderId", getOrderId()) .add("possibleUnits", getPossibleUnits()) .add("reservedUnits", getReservedUnits()) .add("targetingCriteriaBreakdowns", getTargetingCriteriaBreakdowns()) .add("unitType", getUnitType()) .toString(); } /** * Gets the lineItemId value for this AvailabilityForecast. * * @return lineItemId * Uniquely identifies this availability forecast. This value * is read-only and is assigned by * Google when the forecast is created. The attribute * will be either the ID of the {@link * LineItem} object it represents, or {@code null} if * the forecast represents a prospective line * item. */ public java.lang.Long getLineItemId() { return lineItemId; } /** * Sets the lineItemId value for this AvailabilityForecast. * * @param lineItemId * Uniquely identifies this availability forecast. This value * is read-only and is assigned by * Google when the forecast is created. The attribute * will be either the ID of the {@link * LineItem} object it represents, or {@code null} if * the forecast represents a prospective line * item. */ public void setLineItemId(java.lang.Long lineItemId) { this.lineItemId = lineItemId; } /** * Gets the orderId value for this AvailabilityForecast. * * @return orderId * The unique ID for the {@link Order} object that this line item * belongs to, or {@code null} if * the forecast represents a prospective line item without * an {@link LineItem#orderId} set. */ public java.lang.Long getOrderId() { return orderId; } /** * Sets the orderId value for this AvailabilityForecast. * * @param orderId * The unique ID for the {@link Order} object that this line item * belongs to, or {@code null} if * the forecast represents a prospective line item without * an {@link LineItem#orderId} set. */ public void setOrderId(java.lang.Long orderId) { this.orderId = orderId; } /** * Gets the unitType value for this AvailabilityForecast. * * @return unitType * The unit with which the goal or cap of the {@link LineItem} * is defined. Will be the same value * as {@link Goal#unitType} for both a set line item * or a prospective one. */ public com.google.api.ads.admanager.axis.v202308.UnitType getUnitType() { return unitType; } /** * Sets the unitType value for this AvailabilityForecast. * * @param unitType * The unit with which the goal or cap of the {@link LineItem} * is defined. Will be the same value * as {@link Goal#unitType} for both a set line item * or a prospective one. */ public void setUnitType(com.google.api.ads.admanager.axis.v202308.UnitType unitType) { this.unitType = unitType; } /** * Gets the availableUnits value for this AvailabilityForecast. * * @return availableUnits * The number of units, defined by {@link Goal#unitType}, that * can be booked without affecting the * delivery of any reserved line items. Exceeding this * value will not cause an overbook, but lower * priority line items may not run. */ public java.lang.Long getAvailableUnits() { return availableUnits; } /** * Sets the availableUnits value for this AvailabilityForecast. * * @param availableUnits * The number of units, defined by {@link Goal#unitType}, that * can be booked without affecting the * delivery of any reserved line items. Exceeding this * value will not cause an overbook, but lower * priority line items may not run. */ public void setAvailableUnits(java.lang.Long availableUnits) { this.availableUnits = availableUnits; } /** * Gets the deliveredUnits value for this AvailabilityForecast. * * @return deliveredUnits * The number of units, defined by {@link Goal#unitType}, that * have already been served if the * reservation is already running. */ public java.lang.Long getDeliveredUnits() { return deliveredUnits; } /** * Sets the deliveredUnits value for this AvailabilityForecast. * * @param deliveredUnits * The number of units, defined by {@link Goal#unitType}, that * have already been served if the * reservation is already running. */ public void setDeliveredUnits(java.lang.Long deliveredUnits) { this.deliveredUnits = deliveredUnits; } /** * Gets the matchedUnits value for this AvailabilityForecast. * * @return matchedUnits * The number of units, defined by {@link Goal#unitType}, that * match the specified targeting and * delivery settings. */ public java.lang.Long getMatchedUnits() { return matchedUnits; } /** * Sets the matchedUnits value for this AvailabilityForecast. * * @param matchedUnits * The number of units, defined by {@link Goal#unitType}, that * match the specified targeting and * delivery settings. */ public void setMatchedUnits(java.lang.Long matchedUnits) { this.matchedUnits = matchedUnits; } /** * Gets the possibleUnits value for this AvailabilityForecast. * * @return possibleUnits * The maximum number of units, defined by {@link Goal#unitType}, * that could be booked by taking * inventory away from lower priority line items and * some same priority line items. * *

Please note: booking this number may cause lower * priority line items and some same priority * line items to underdeliver. */ public java.lang.Long getPossibleUnits() { return possibleUnits; } /** * Sets the possibleUnits value for this AvailabilityForecast. * * @param possibleUnits * The maximum number of units, defined by {@link Goal#unitType}, * that could be booked by taking * inventory away from lower priority line items and * some same priority line items. * *

Please note: booking this number may cause lower * priority line items and some same priority * line items to underdeliver. */ public void setPossibleUnits(java.lang.Long possibleUnits) { this.possibleUnits = possibleUnits; } /** * Gets the reservedUnits value for this AvailabilityForecast. * * @return reservedUnits * The number of reserved units, defined by {@link Goal#unitType}, * requested. This can be an * absolute or percentage value. */ public java.lang.Long getReservedUnits() { return reservedUnits; } /** * Sets the reservedUnits value for this AvailabilityForecast. * * @param reservedUnits * The number of reserved units, defined by {@link Goal#unitType}, * requested. This can be an * absolute or percentage value. */ public void setReservedUnits(java.lang.Long reservedUnits) { this.reservedUnits = reservedUnits; } /** * Gets the breakdowns value for this AvailabilityForecast. * * @return breakdowns * The breakdowns for each time window defined in {@link ForecastBreakdownOptions#timeWindows}. * *

If no breakdown was requested through {@link AvailabilityForecastOptions#breakdown}, * this * field will be empty. * * If targeting breakdown was requested by {@link ForecastBreakdownOptions#targets} * with no time * breakdown, this list will contain a single {@link * ForecastBreakdown} corresponding to the time * window of the forecasted {@link LineItem}. * * Otherwise, each time window defined by {@link ForecastBreakdownOptions#timeWindows} * will * correspond to one {@link ForecastBreakdown} in the * same order. * * Targeting breakdowns for every time window are returned * in * {@link ForecastBreakdown#breakdownEntries}. * * Some examples: * * For a targeting breakdown in the form of * {@code ForecastBreakdownOptions{targets=[IU=A, {IU=B, * creative=1x1}]}}, the {@link #breakdowns} * field may look like: * {@code [ForecastBreakdown{breakdownEntries=[availableUnits=10, * availableUnits=20]}]} * where the entries correspond to {@code {IU=A}} and * {@code {IU=B, creative=1x1}} respectively. * * For a time breakdown in the form of * {@code ForecastBreakdownOptions{timeWindows=[1am, * 2am, 3am]}}, the {@code breakdowns} field may * look like:

{@code
     *                 [
     *                 ForecastBreakdown{startTime=1am, endTime=2am, breakdownEntries=[availableUnits=10]},
     * ForecastBreakdown{startTime=2am, endTime=3am, breakdownEntries=[availableUnits=20]}
     * ]
     *                 }
* where the two {@link #ForecastBreakdown} correspond * to the [1am, 2am) and [2am, 3am) time * windows respecively. * * For a two-dimensional breakdown in the form of * {@code ForecastBreakdownOptions{timeWindows=[1am, * 2am, 3am], targets=[IU=A, IU=B]}, the {@code * breakdowns} field may look like:
{@code
     *                 [
     *                 ForecastBreakdown{startTime=1am, endTime=2am,
     *                 breakdownEntries=[availableUnits=10, availableUnits=100]},
     * ForecastBreakdown{startTime=2am, endTime=3am,
     *                 breakdownEntries=[availableUnits=20, availableUnits=200]}
     * ]
     *                 }
* where the first ForecastBreakdown respresents the * [1am, 2am) time window with two entries for * the IU A and IU B respectively; and the second ForecastBreakdown * represents the [2am, 3am) * time window also with two entries corresponding to * the two IUs. */ public com.google.api.ads.admanager.axis.v202308.ForecastBreakdown[] getBreakdowns() { return breakdowns; } /** * Sets the breakdowns value for this AvailabilityForecast. * * @param breakdowns * The breakdowns for each time window defined in {@link ForecastBreakdownOptions#timeWindows}. * *

If no breakdown was requested through {@link AvailabilityForecastOptions#breakdown}, * this * field will be empty. * * If targeting breakdown was requested by {@link ForecastBreakdownOptions#targets} * with no time * breakdown, this list will contain a single {@link * ForecastBreakdown} corresponding to the time * window of the forecasted {@link LineItem}. * * Otherwise, each time window defined by {@link ForecastBreakdownOptions#timeWindows} * will * correspond to one {@link ForecastBreakdown} in the * same order. * * Targeting breakdowns for every time window are returned * in * {@link ForecastBreakdown#breakdownEntries}. * * Some examples: * * For a targeting breakdown in the form of * {@code ForecastBreakdownOptions{targets=[IU=A, {IU=B, * creative=1x1}]}}, the {@link #breakdowns} * field may look like: * {@code [ForecastBreakdown{breakdownEntries=[availableUnits=10, * availableUnits=20]}]} * where the entries correspond to {@code {IU=A}} and * {@code {IU=B, creative=1x1}} respectively. * * For a time breakdown in the form of * {@code ForecastBreakdownOptions{timeWindows=[1am, * 2am, 3am]}}, the {@code breakdowns} field may * look like:

{@code
     *                 [
     *                 ForecastBreakdown{startTime=1am, endTime=2am, breakdownEntries=[availableUnits=10]},
     * ForecastBreakdown{startTime=2am, endTime=3am, breakdownEntries=[availableUnits=20]}
     * ]
     *                 }
* where the two {@link #ForecastBreakdown} correspond * to the [1am, 2am) and [2am, 3am) time * windows respecively. * * For a two-dimensional breakdown in the form of * {@code ForecastBreakdownOptions{timeWindows=[1am, * 2am, 3am], targets=[IU=A, IU=B]}, the {@code * breakdowns} field may look like:
{@code
     *                 [
     *                 ForecastBreakdown{startTime=1am, endTime=2am,
     *                 breakdownEntries=[availableUnits=10, availableUnits=100]},
     * ForecastBreakdown{startTime=2am, endTime=3am,
     *                 breakdownEntries=[availableUnits=20, availableUnits=200]}
     * ]
     *                 }
* where the first ForecastBreakdown respresents the * [1am, 2am) time window with two entries for * the IU A and IU B respectively; and the second ForecastBreakdown * represents the [2am, 3am) * time window also with two entries corresponding to * the two IUs. */ public void setBreakdowns(com.google.api.ads.admanager.axis.v202308.ForecastBreakdown[] breakdowns) { this.breakdowns = breakdowns; } public com.google.api.ads.admanager.axis.v202308.ForecastBreakdown getBreakdowns(int i) { return this.breakdowns[i]; } public void setBreakdowns(int i, com.google.api.ads.admanager.axis.v202308.ForecastBreakdown _value) { this.breakdowns[i] = _value; } /** * Gets the targetingCriteriaBreakdowns value for this AvailabilityForecast. * * @return targetingCriteriaBreakdowns * The forecast result broken down by the targeting of the forecasted * line item. */ public com.google.api.ads.admanager.axis.v202308.TargetingCriteriaBreakdown[] getTargetingCriteriaBreakdowns() { return targetingCriteriaBreakdowns; } /** * Sets the targetingCriteriaBreakdowns value for this AvailabilityForecast. * * @param targetingCriteriaBreakdowns * The forecast result broken down by the targeting of the forecasted * line item. */ public void setTargetingCriteriaBreakdowns(com.google.api.ads.admanager.axis.v202308.TargetingCriteriaBreakdown[] targetingCriteriaBreakdowns) { this.targetingCriteriaBreakdowns = targetingCriteriaBreakdowns; } public com.google.api.ads.admanager.axis.v202308.TargetingCriteriaBreakdown getTargetingCriteriaBreakdowns(int i) { return this.targetingCriteriaBreakdowns[i]; } public void setTargetingCriteriaBreakdowns(int i, com.google.api.ads.admanager.axis.v202308.TargetingCriteriaBreakdown _value) { this.targetingCriteriaBreakdowns[i] = _value; } /** * Gets the contendingLineItems value for this AvailabilityForecast. * * @return contendingLineItems * List of {@link ContendingLineItem contending line items} for * this forecast. */ public com.google.api.ads.admanager.axis.v202308.ContendingLineItem[] getContendingLineItems() { return contendingLineItems; } /** * Sets the contendingLineItems value for this AvailabilityForecast. * * @param contendingLineItems * List of {@link ContendingLineItem contending line items} for * this forecast. */ public void setContendingLineItems(com.google.api.ads.admanager.axis.v202308.ContendingLineItem[] contendingLineItems) { this.contendingLineItems = contendingLineItems; } public com.google.api.ads.admanager.axis.v202308.ContendingLineItem getContendingLineItems(int i) { return this.contendingLineItems[i]; } public void setContendingLineItems(int i, com.google.api.ads.admanager.axis.v202308.ContendingLineItem _value) { this.contendingLineItems[i] = _value; } /** * Gets the alternativeUnitTypeForecasts value for this AvailabilityForecast. * * @return alternativeUnitTypeForecasts * Views of this forecast, with alternative unit types. */ public com.google.api.ads.admanager.axis.v202308.AlternativeUnitTypeForecast[] getAlternativeUnitTypeForecasts() { return alternativeUnitTypeForecasts; } /** * Sets the alternativeUnitTypeForecasts value for this AvailabilityForecast. * * @param alternativeUnitTypeForecasts * Views of this forecast, with alternative unit types. */ public void setAlternativeUnitTypeForecasts(com.google.api.ads.admanager.axis.v202308.AlternativeUnitTypeForecast[] alternativeUnitTypeForecasts) { this.alternativeUnitTypeForecasts = alternativeUnitTypeForecasts; } public com.google.api.ads.admanager.axis.v202308.AlternativeUnitTypeForecast getAlternativeUnitTypeForecasts(int i) { return this.alternativeUnitTypeForecasts[i]; } public void setAlternativeUnitTypeForecasts(int i, com.google.api.ads.admanager.axis.v202308.AlternativeUnitTypeForecast _value) { this.alternativeUnitTypeForecasts[i] = _value; } private java.lang.Object __equalsCalc = null; public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof AvailabilityForecast)) return false; AvailabilityForecast other = (AvailabilityForecast) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; boolean _equals; _equals = true && ((this.lineItemId==null && other.getLineItemId()==null) || (this.lineItemId!=null && this.lineItemId.equals(other.getLineItemId()))) && ((this.orderId==null && other.getOrderId()==null) || (this.orderId!=null && this.orderId.equals(other.getOrderId()))) && ((this.unitType==null && other.getUnitType()==null) || (this.unitType!=null && this.unitType.equals(other.getUnitType()))) && ((this.availableUnits==null && other.getAvailableUnits()==null) || (this.availableUnits!=null && this.availableUnits.equals(other.getAvailableUnits()))) && ((this.deliveredUnits==null && other.getDeliveredUnits()==null) || (this.deliveredUnits!=null && this.deliveredUnits.equals(other.getDeliveredUnits()))) && ((this.matchedUnits==null && other.getMatchedUnits()==null) || (this.matchedUnits!=null && this.matchedUnits.equals(other.getMatchedUnits()))) && ((this.possibleUnits==null && other.getPossibleUnits()==null) || (this.possibleUnits!=null && this.possibleUnits.equals(other.getPossibleUnits()))) && ((this.reservedUnits==null && other.getReservedUnits()==null) || (this.reservedUnits!=null && this.reservedUnits.equals(other.getReservedUnits()))) && ((this.breakdowns==null && other.getBreakdowns()==null) || (this.breakdowns!=null && java.util.Arrays.equals(this.breakdowns, other.getBreakdowns()))) && ((this.targetingCriteriaBreakdowns==null && other.getTargetingCriteriaBreakdowns()==null) || (this.targetingCriteriaBreakdowns!=null && java.util.Arrays.equals(this.targetingCriteriaBreakdowns, other.getTargetingCriteriaBreakdowns()))) && ((this.contendingLineItems==null && other.getContendingLineItems()==null) || (this.contendingLineItems!=null && java.util.Arrays.equals(this.contendingLineItems, other.getContendingLineItems()))) && ((this.alternativeUnitTypeForecasts==null && other.getAlternativeUnitTypeForecasts()==null) || (this.alternativeUnitTypeForecasts!=null && java.util.Arrays.equals(this.alternativeUnitTypeForecasts, other.getAlternativeUnitTypeForecasts()))); __equalsCalc = null; return _equals; } private boolean __hashCodeCalc = false; public synchronized int hashCode() { if (__hashCodeCalc) { return 0; } __hashCodeCalc = true; int _hashCode = 1; if (getLineItemId() != null) { _hashCode += getLineItemId().hashCode(); } if (getOrderId() != null) { _hashCode += getOrderId().hashCode(); } if (getUnitType() != null) { _hashCode += getUnitType().hashCode(); } if (getAvailableUnits() != null) { _hashCode += getAvailableUnits().hashCode(); } if (getDeliveredUnits() != null) { _hashCode += getDeliveredUnits().hashCode(); } if (getMatchedUnits() != null) { _hashCode += getMatchedUnits().hashCode(); } if (getPossibleUnits() != null) { _hashCode += getPossibleUnits().hashCode(); } if (getReservedUnits() != null) { _hashCode += getReservedUnits().hashCode(); } if (getBreakdowns() != null) { for (int i=0; i




© 2015 - 2024 Weber Informatics LLC | Privacy Policy