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

com.amazonaws.services.iot.model.ThingAttribute Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.iot.model;

import java.io.Serializable;

/**
 * 

* The properties of the thing, including thing name, thing type name, and a * list of thing attributes. *

*/ public class ThingAttribute implements Serializable, Cloneable { /** *

* The name of the thing. *

*/ private String thingName; /** *

* The name of the thing type, if the thing has been associated with a type. *

*/ private String thingTypeName; /** *

* A list of thing attributes which are name-value pairs. *

*/ private java.util.Map attributes; /** *

* The version of the thing record in the registry. *

*/ private Long version; /** *

* The name of the thing. *

* * @param thingName * The name of the thing. */ public void setThingName(String thingName) { this.thingName = thingName; } /** *

* The name of the thing. *

* * @return The name of the thing. */ public String getThingName() { return this.thingName; } /** *

* The name of the thing. *

* * @param thingName * The name of the thing. * @return Returns a reference to this object so that method calls can be * chained together. */ public ThingAttribute withThingName(String thingName) { setThingName(thingName); return this; } /** *

* The name of the thing type, if the thing has been associated with a type. *

* * @param thingTypeName * The name of the thing type, if the thing has been associated with * a type. */ public void setThingTypeName(String thingTypeName) { this.thingTypeName = thingTypeName; } /** *

* The name of the thing type, if the thing has been associated with a type. *

* * @return The name of the thing type, if the thing has been associated with * a type. */ public String getThingTypeName() { return this.thingTypeName; } /** *

* The name of the thing type, if the thing has been associated with a type. *

* * @param thingTypeName * The name of the thing type, if the thing has been associated with * a type. * @return Returns a reference to this object so that method calls can be * chained together. */ public ThingAttribute withThingTypeName(String thingTypeName) { setThingTypeName(thingTypeName); return this; } /** *

* A list of thing attributes which are name-value pairs. *

* * @return A list of thing attributes which are name-value pairs. */ public java.util.Map getAttributes() { return attributes; } /** *

* A list of thing attributes which are name-value pairs. *

* * @param attributes * A list of thing attributes which are name-value pairs. */ public void setAttributes(java.util.Map attributes) { this.attributes = attributes; } /** *

* A list of thing attributes which are name-value pairs. *

* * @param attributes * A list of thing attributes which are name-value pairs. * @return Returns a reference to this object so that method calls can be * chained together. */ public ThingAttribute withAttributes( java.util.Map attributes) { setAttributes(attributes); return this; } public ThingAttribute addAttributesEntry(String key, String value) { if (null == this.attributes) { this.attributes = new java.util.HashMap(); } if (this.attributes.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.attributes.put(key, value); return this; } /** * Removes all the entries added into Attributes. <p> Returns a reference * to this object so that method calls can be chained together. */ public ThingAttribute clearAttributesEntries() { this.attributes = null; return this; } /** *

* The version of the thing record in the registry. *

* * @param version * The version of the thing record in the registry. */ public void setVersion(Long version) { this.version = version; } /** *

* The version of the thing record in the registry. *

* * @return The version of the thing record in the registry. */ public Long getVersion() { return this.version; } /** *

* The version of the thing record in the registry. *

* * @param version * The version of the thing record in the registry. * @return Returns a reference to this object so that method calls can be * chained together. */ public ThingAttribute withVersion(Long version) { setVersion(version); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getThingName() != null) sb.append("ThingName: " + getThingName() + ","); if (getThingTypeName() != null) sb.append("ThingTypeName: " + getThingTypeName() + ","); if (getAttributes() != null) sb.append("Attributes: " + getAttributes() + ","); if (getVersion() != null) sb.append("Version: " + getVersion()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ThingAttribute == false) return false; ThingAttribute other = (ThingAttribute) obj; if (other.getThingName() == null ^ this.getThingName() == null) return false; if (other.getThingName() != null && other.getThingName().equals(this.getThingName()) == false) return false; if (other.getThingTypeName() == null ^ this.getThingTypeName() == null) return false; if (other.getThingTypeName() != null && other.getThingTypeName().equals(this.getThingTypeName()) == false) return false; if (other.getAttributes() == null ^ this.getAttributes() == null) return false; if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false) return false; if (other.getVersion() == null ^ this.getVersion() == null) return false; if (other.getVersion() != null && other.getVersion().equals(this.getVersion()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getThingName() == null) ? 0 : getThingName().hashCode()); hashCode = prime * hashCode + ((getThingTypeName() == null) ? 0 : getThingTypeName() .hashCode()); hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode()); hashCode = prime * hashCode + ((getVersion() == null) ? 0 : getVersion().hashCode()); return hashCode; } @Override public ThingAttribute clone() { try { return (ThingAttribute) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy