com.amazonaws.services.iot.model.ThingGroupMetadata Maven / Gradle / Ivy
/*
* Copyright 2010-2018 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;
/**
*
* Thing group metadata.
*
*/
public class ThingGroupMetadata implements Serializable {
/**
*
* The parent thing group name.
*
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*/
private String parentGroupName;
/**
*
* The root parent thing group.
*
*/
private java.util.List rootToParentThingGroups;
/**
*
* The UNIX timestamp of when the thing group was created.
*
*/
private java.util.Date creationDate;
/**
*
* The parent thing group name.
*
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @return
* The parent thing group name.
*
*/
public String getParentGroupName() {
return parentGroupName;
}
/**
*
* The parent thing group name.
*
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param parentGroupName
* The parent thing group name.
*
*/
public void setParentGroupName(String parentGroupName) {
this.parentGroupName = parentGroupName;
}
/**
*
* The parent thing group name.
*
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param parentGroupName
* The parent thing group name.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public ThingGroupMetadata withParentGroupName(String parentGroupName) {
this.parentGroupName = parentGroupName;
return this;
}
/**
*
* The root parent thing group.
*
*
* @return
* The root parent thing group.
*
*/
public java.util.List getRootToParentThingGroups() {
return rootToParentThingGroups;
}
/**
*
* The root parent thing group.
*
*
* @param rootToParentThingGroups
* The root parent thing group.
*
*/
public void setRootToParentThingGroups(
java.util.Collection rootToParentThingGroups) {
if (rootToParentThingGroups == null) {
this.rootToParentThingGroups = null;
return;
}
this.rootToParentThingGroups = new java.util.ArrayList(
rootToParentThingGroups);
}
/**
*
* The root parent thing group.
*
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param rootToParentThingGroups
* The root parent thing group.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public ThingGroupMetadata withRootToParentThingGroups(
GroupNameAndArn... rootToParentThingGroups) {
if (getRootToParentThingGroups() == null) {
this.rootToParentThingGroups = new java.util.ArrayList(
rootToParentThingGroups.length);
}
for (GroupNameAndArn value : rootToParentThingGroups) {
this.rootToParentThingGroups.add(value);
}
return this;
}
/**
*
* The root parent thing group.
*
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param rootToParentThingGroups
* The root parent thing group.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public ThingGroupMetadata withRootToParentThingGroups(
java.util.Collection rootToParentThingGroups) {
setRootToParentThingGroups(rootToParentThingGroups);
return this;
}
/**
*
* The UNIX timestamp of when the thing group was created.
*
*
* @return
* The UNIX timestamp of when the thing group was created.
*
*/
public java.util.Date getCreationDate() {
return creationDate;
}
/**
*
* The UNIX timestamp of when the thing group was created.
*
*
* @param creationDate
* The UNIX timestamp of when the thing group was created.
*
*/
public void setCreationDate(java.util.Date creationDate) {
this.creationDate = creationDate;
}
/**
*
* The UNIX timestamp of when the thing group was created.
*
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param creationDate
* The UNIX timestamp of when the thing group was created.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public ThingGroupMetadata withCreationDate(java.util.Date creationDate) {
this.creationDate = creationDate;
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 (getParentGroupName() != null)
sb.append("parentGroupName: " + getParentGroupName() + ",");
if (getRootToParentThingGroups() != null)
sb.append("rootToParentThingGroups: " + getRootToParentThingGroups() + ",");
if (getCreationDate() != null)
sb.append("creationDate: " + getCreationDate());
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode
+ ((getParentGroupName() == null) ? 0 : getParentGroupName().hashCode());
hashCode = prime
* hashCode
+ ((getRootToParentThingGroups() == null) ? 0 : getRootToParentThingGroups()
.hashCode());
hashCode = prime * hashCode
+ ((getCreationDate() == null) ? 0 : getCreationDate().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ThingGroupMetadata == false)
return false;
ThingGroupMetadata other = (ThingGroupMetadata) obj;
if (other.getParentGroupName() == null ^ this.getParentGroupName() == null)
return false;
if (other.getParentGroupName() != null
&& other.getParentGroupName().equals(this.getParentGroupName()) == false)
return false;
if (other.getRootToParentThingGroups() == null ^ this.getRootToParentThingGroups() == null)
return false;
if (other.getRootToParentThingGroups() != null
&& other.getRootToParentThingGroups().equals(this.getRootToParentThingGroups()) == false)
return false;
if (other.getCreationDate() == null ^ this.getCreationDate() == null)
return false;
if (other.getCreationDate() != null
&& other.getCreationDate().equals(this.getCreationDate()) == false)
return false;
return true;
}
}