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

com.amazonaws.services.applicationsignals.model.Metric Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon CloudWatch Application Signals module holds the client classes that are used for communicating with Amazon CloudWatch Application Signals Service

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file 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.amazonaws.services.applicationsignals.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* This structure defines the metric used for a service level indicator, including the metric name, namespace, and * dimensions *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Metric implements Serializable, Cloneable, StructuredPojo { /** *

* The namespace of the metric. For more information, see Namespaces. *

*/ private String namespace; /** *

* The name of the metric to use. *

*/ private String metricName; /** *

* An array of one or more dimensions to use to define the metric that you want to use. For more information, see Dimensions * . *

*/ private java.util.List dimensions; /** *

* The namespace of the metric. For more information, see Namespaces. *

* * @param namespace * The namespace of the metric. For more information, see Namespaces. */ public void setNamespace(String namespace) { this.namespace = namespace; } /** *

* The namespace of the metric. For more information, see Namespaces. *

* * @return The namespace of the metric. For more information, see Namespaces. */ public String getNamespace() { return this.namespace; } /** *

* The namespace of the metric. For more information, see Namespaces. *

* * @param namespace * The namespace of the metric. For more information, see Namespaces. * @return Returns a reference to this object so that method calls can be chained together. */ public Metric withNamespace(String namespace) { setNamespace(namespace); return this; } /** *

* The name of the metric to use. *

* * @param metricName * The name of the metric to use. */ public void setMetricName(String metricName) { this.metricName = metricName; } /** *

* The name of the metric to use. *

* * @return The name of the metric to use. */ public String getMetricName() { return this.metricName; } /** *

* The name of the metric to use. *

* * @param metricName * The name of the metric to use. * @return Returns a reference to this object so that method calls can be chained together. */ public Metric withMetricName(String metricName) { setMetricName(metricName); return this; } /** *

* An array of one or more dimensions to use to define the metric that you want to use. For more information, see Dimensions * . *

* * @return An array of one or more dimensions to use to define the metric that you want to use. For more * information, see Dimensions. */ public java.util.List getDimensions() { return dimensions; } /** *

* An array of one or more dimensions to use to define the metric that you want to use. For more information, see Dimensions * . *

* * @param dimensions * An array of one or more dimensions to use to define the metric that you want to use. For more information, * see Dimensions. */ public void setDimensions(java.util.Collection dimensions) { if (dimensions == null) { this.dimensions = null; return; } this.dimensions = new java.util.ArrayList(dimensions); } /** *

* An array of one or more dimensions to use to define the metric that you want to use. For more information, see Dimensions * . *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDimensions(java.util.Collection)} or {@link #withDimensions(java.util.Collection)} if you want to * override the existing values. *

* * @param dimensions * An array of one or more dimensions to use to define the metric that you want to use. For more information, * see Dimensions. * @return Returns a reference to this object so that method calls can be chained together. */ public Metric withDimensions(Dimension... dimensions) { if (this.dimensions == null) { setDimensions(new java.util.ArrayList(dimensions.length)); } for (Dimension ele : dimensions) { this.dimensions.add(ele); } return this; } /** *

* An array of one or more dimensions to use to define the metric that you want to use. For more information, see Dimensions * . *

* * @param dimensions * An array of one or more dimensions to use to define the metric that you want to use. For more information, * see Dimensions. * @return Returns a reference to this object so that method calls can be chained together. */ public Metric withDimensions(java.util.Collection dimensions) { setDimensions(dimensions); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getNamespace() != null) sb.append("Namespace: ").append(getNamespace()).append(","); if (getMetricName() != null) sb.append("MetricName: ").append(getMetricName()).append(","); if (getDimensions() != null) sb.append("Dimensions: ").append(getDimensions()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Metric == false) return false; Metric other = (Metric) obj; if (other.getNamespace() == null ^ this.getNamespace() == null) return false; if (other.getNamespace() != null && other.getNamespace().equals(this.getNamespace()) == false) return false; if (other.getMetricName() == null ^ this.getMetricName() == null) return false; if (other.getMetricName() != null && other.getMetricName().equals(this.getMetricName()) == false) return false; if (other.getDimensions() == null ^ this.getDimensions() == null) return false; if (other.getDimensions() != null && other.getDimensions().equals(this.getDimensions()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getNamespace() == null) ? 0 : getNamespace().hashCode()); hashCode = prime * hashCode + ((getMetricName() == null) ? 0 : getMetricName().hashCode()); hashCode = prime * hashCode + ((getDimensions() == null) ? 0 : getDimensions().hashCode()); return hashCode; } @Override public Metric clone() { try { return (Metric) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.applicationsignals.model.transform.MetricMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy