/* * Copyright 2018-2023 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.migrationhubstrategyrecommendations.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Contains detailed information about an application component. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ApplicationComponentDetail implements Serializable, Cloneable, StructuredPojo { /** ** The status of analysis, if the application component has source code or an associated database. *
*/ private String analysisStatus; /** ** The S3 bucket name and the Amazon S3 key name for the anti-pattern report. *
*/ private S3Object antipatternReportS3Object; /** ** The status of the anti-pattern report generation. *
*/ private String antipatternReportStatus; /** ** The status message for the anti-pattern. *
*/ private String antipatternReportStatusMessage; /** ** The type of application component. *
*/ private String appType; /** ** The error in the analysis of the source code or database. *
*/ private AppUnitError appUnitError; /** ** The ID of the server that the application component is running on. *
*/ private String associatedServerId; /** ** Configuration details for the database associated with the application component. *
*/ private DatabaseConfigDetail databaseConfigDetail; /** ** The ID of the application component. *
*/ private String id; /** ** Indicates whether the application component has been included for server recommendation or not. *
*/ private String inclusionStatus; /** ** The timestamp of when the application component was assessed. *
*/ private java.util.Date lastAnalyzedTimestamp; /** ** A list of anti-pattern severity summaries. *
*/ private java.util.List* Set to true if the application component is running on multiple servers. *
*/ private Boolean moreServerAssociationExists; /** ** The name of application component. *
*/ private String name; /** ** OS driver. *
*/ private String osDriver; /** ** OS version. *
*/ private String osVersion; /** ** The top recommendation set for the application component. *
*/ private RecommendationSet recommendationSet; /** ** The application component subtype. *
*/ private String resourceSubType; /** ** A list of the analysis results. *
*/ private java.util.List* The status of the application unit. *
*/ private String runtimeStatus; /** ** The status message for the application unit. *
*/ private String runtimeStatusMessage; /** ** Details about the source code repository associated with the application component. *
*/ private java.util.List* A detailed description of the analysis status and any failure message. *
*/ private String statusMessage; /** ** The status of analysis, if the application component has source code or an associated database. *
* * @param analysisStatus * The status of analysis, if the application component has source code or an associated database. * @see SrcCodeOrDbAnalysisStatus */ public void setAnalysisStatus(String analysisStatus) { this.analysisStatus = analysisStatus; } /** ** The status of analysis, if the application component has source code or an associated database. *
* * @return The status of analysis, if the application component has source code or an associated database. * @see SrcCodeOrDbAnalysisStatus */ public String getAnalysisStatus() { return this.analysisStatus; } /** ** The status of analysis, if the application component has source code or an associated database. *
* * @param analysisStatus * The status of analysis, if the application component has source code or an associated database. * @return Returns a reference to this object so that method calls can be chained together. * @see SrcCodeOrDbAnalysisStatus */ public ApplicationComponentDetail withAnalysisStatus(String analysisStatus) { setAnalysisStatus(analysisStatus); return this; } /** ** The status of analysis, if the application component has source code or an associated database. *
* * @param analysisStatus * The status of analysis, if the application component has source code or an associated database. * @return Returns a reference to this object so that method calls can be chained together. * @see SrcCodeOrDbAnalysisStatus */ public ApplicationComponentDetail withAnalysisStatus(SrcCodeOrDbAnalysisStatus analysisStatus) { this.analysisStatus = analysisStatus.toString(); return this; } /** ** The S3 bucket name and the Amazon S3 key name for the anti-pattern report. *
* * @param antipatternReportS3Object * The S3 bucket name and the Amazon S3 key name for the anti-pattern report. */ public void setAntipatternReportS3Object(S3Object antipatternReportS3Object) { this.antipatternReportS3Object = antipatternReportS3Object; } /** ** The S3 bucket name and the Amazon S3 key name for the anti-pattern report. *
* * @return The S3 bucket name and the Amazon S3 key name for the anti-pattern report. */ public S3Object getAntipatternReportS3Object() { return this.antipatternReportS3Object; } /** ** The S3 bucket name and the Amazon S3 key name for the anti-pattern report. *
* * @param antipatternReportS3Object * The S3 bucket name and the Amazon S3 key name for the anti-pattern report. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withAntipatternReportS3Object(S3Object antipatternReportS3Object) { setAntipatternReportS3Object(antipatternReportS3Object); return this; } /** ** The status of the anti-pattern report generation. *
* * @param antipatternReportStatus * The status of the anti-pattern report generation. * @see AntipatternReportStatus */ public void setAntipatternReportStatus(String antipatternReportStatus) { this.antipatternReportStatus = antipatternReportStatus; } /** ** The status of the anti-pattern report generation. *
* * @return The status of the anti-pattern report generation. * @see AntipatternReportStatus */ public String getAntipatternReportStatus() { return this.antipatternReportStatus; } /** ** The status of the anti-pattern report generation. *
* * @param antipatternReportStatus * The status of the anti-pattern report generation. * @return Returns a reference to this object so that method calls can be chained together. * @see AntipatternReportStatus */ public ApplicationComponentDetail withAntipatternReportStatus(String antipatternReportStatus) { setAntipatternReportStatus(antipatternReportStatus); return this; } /** ** The status of the anti-pattern report generation. *
* * @param antipatternReportStatus * The status of the anti-pattern report generation. * @return Returns a reference to this object so that method calls can be chained together. * @see AntipatternReportStatus */ public ApplicationComponentDetail withAntipatternReportStatus(AntipatternReportStatus antipatternReportStatus) { this.antipatternReportStatus = antipatternReportStatus.toString(); return this; } /** ** The status message for the anti-pattern. *
* * @param antipatternReportStatusMessage * The status message for the anti-pattern. */ public void setAntipatternReportStatusMessage(String antipatternReportStatusMessage) { this.antipatternReportStatusMessage = antipatternReportStatusMessage; } /** ** The status message for the anti-pattern. *
* * @return The status message for the anti-pattern. */ public String getAntipatternReportStatusMessage() { return this.antipatternReportStatusMessage; } /** ** The status message for the anti-pattern. *
* * @param antipatternReportStatusMessage * The status message for the anti-pattern. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withAntipatternReportStatusMessage(String antipatternReportStatusMessage) { setAntipatternReportStatusMessage(antipatternReportStatusMessage); return this; } /** ** The type of application component. *
* * @param appType * The type of application component. * @see AppType */ public void setAppType(String appType) { this.appType = appType; } /** ** The type of application component. *
* * @return The type of application component. * @see AppType */ public String getAppType() { return this.appType; } /** ** The type of application component. *
* * @param appType * The type of application component. * @return Returns a reference to this object so that method calls can be chained together. * @see AppType */ public ApplicationComponentDetail withAppType(String appType) { setAppType(appType); return this; } /** ** The type of application component. *
* * @param appType * The type of application component. * @return Returns a reference to this object so that method calls can be chained together. * @see AppType */ public ApplicationComponentDetail withAppType(AppType appType) { this.appType = appType.toString(); return this; } /** ** The error in the analysis of the source code or database. *
* * @param appUnitError * The error in the analysis of the source code or database. */ public void setAppUnitError(AppUnitError appUnitError) { this.appUnitError = appUnitError; } /** ** The error in the analysis of the source code or database. *
* * @return The error in the analysis of the source code or database. */ public AppUnitError getAppUnitError() { return this.appUnitError; } /** ** The error in the analysis of the source code or database. *
* * @param appUnitError * The error in the analysis of the source code or database. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withAppUnitError(AppUnitError appUnitError) { setAppUnitError(appUnitError); return this; } /** ** The ID of the server that the application component is running on. *
* * @param associatedServerId * The ID of the server that the application component is running on. */ public void setAssociatedServerId(String associatedServerId) { this.associatedServerId = associatedServerId; } /** ** The ID of the server that the application component is running on. *
* * @return The ID of the server that the application component is running on. */ public String getAssociatedServerId() { return this.associatedServerId; } /** ** The ID of the server that the application component is running on. *
* * @param associatedServerId * The ID of the server that the application component is running on. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withAssociatedServerId(String associatedServerId) { setAssociatedServerId(associatedServerId); return this; } /** ** Configuration details for the database associated with the application component. *
* * @param databaseConfigDetail * Configuration details for the database associated with the application component. */ public void setDatabaseConfigDetail(DatabaseConfigDetail databaseConfigDetail) { this.databaseConfigDetail = databaseConfigDetail; } /** ** Configuration details for the database associated with the application component. *
* * @return Configuration details for the database associated with the application component. */ public DatabaseConfigDetail getDatabaseConfigDetail() { return this.databaseConfigDetail; } /** ** Configuration details for the database associated with the application component. *
* * @param databaseConfigDetail * Configuration details for the database associated with the application component. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withDatabaseConfigDetail(DatabaseConfigDetail databaseConfigDetail) { setDatabaseConfigDetail(databaseConfigDetail); return this; } /** ** The ID of the application component. *
* * @param id * The ID of the application component. */ public void setId(String id) { this.id = id; } /** ** The ID of the application component. *
* * @return The ID of the application component. */ public String getId() { return this.id; } /** ** The ID of the application component. *
* * @param id * The ID of the application component. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withId(String id) { setId(id); return this; } /** ** Indicates whether the application component has been included for server recommendation or not. *
* * @param inclusionStatus * Indicates whether the application component has been included for server recommendation or not. * @see InclusionStatus */ public void setInclusionStatus(String inclusionStatus) { this.inclusionStatus = inclusionStatus; } /** ** Indicates whether the application component has been included for server recommendation or not. *
* * @return Indicates whether the application component has been included for server recommendation or not. * @see InclusionStatus */ public String getInclusionStatus() { return this.inclusionStatus; } /** ** Indicates whether the application component has been included for server recommendation or not. *
* * @param inclusionStatus * Indicates whether the application component has been included for server recommendation or not. * @return Returns a reference to this object so that method calls can be chained together. * @see InclusionStatus */ public ApplicationComponentDetail withInclusionStatus(String inclusionStatus) { setInclusionStatus(inclusionStatus); return this; } /** ** Indicates whether the application component has been included for server recommendation or not. *
* * @param inclusionStatus * Indicates whether the application component has been included for server recommendation or not. * @return Returns a reference to this object so that method calls can be chained together. * @see InclusionStatus */ public ApplicationComponentDetail withInclusionStatus(InclusionStatus inclusionStatus) { this.inclusionStatus = inclusionStatus.toString(); return this; } /** ** The timestamp of when the application component was assessed. *
* * @param lastAnalyzedTimestamp * The timestamp of when the application component was assessed. */ public void setLastAnalyzedTimestamp(java.util.Date lastAnalyzedTimestamp) { this.lastAnalyzedTimestamp = lastAnalyzedTimestamp; } /** ** The timestamp of when the application component was assessed. *
* * @return The timestamp of when the application component was assessed. */ public java.util.Date getLastAnalyzedTimestamp() { return this.lastAnalyzedTimestamp; } /** ** The timestamp of when the application component was assessed. *
* * @param lastAnalyzedTimestamp * The timestamp of when the application component was assessed. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withLastAnalyzedTimestamp(java.util.Date lastAnalyzedTimestamp) { setLastAnalyzedTimestamp(lastAnalyzedTimestamp); return this; } /** ** A list of anti-pattern severity summaries. *
* * @return A list of anti-pattern severity summaries. */ public java.util.List* A list of anti-pattern severity summaries. *
* * @param listAntipatternSeveritySummary * A list of anti-pattern severity summaries. */ public void setListAntipatternSeveritySummary(java.util.Collection* A list of anti-pattern severity summaries. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setListAntipatternSeveritySummary(java.util.Collection)} or * {@link #withListAntipatternSeveritySummary(java.util.Collection)} if you want to override the existing values. *
* * @param listAntipatternSeveritySummary * A list of anti-pattern severity summaries. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withListAntipatternSeveritySummary(AntipatternSeveritySummary... listAntipatternSeveritySummary) { if (this.listAntipatternSeveritySummary == null) { setListAntipatternSeveritySummary(new java.util.ArrayList* A list of anti-pattern severity summaries. *
* * @param listAntipatternSeveritySummary * A list of anti-pattern severity summaries. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withListAntipatternSeveritySummary(java.util.Collection* Set to true if the application component is running on multiple servers. *
* * @param moreServerAssociationExists * Set to true if the application component is running on multiple servers. */ public void setMoreServerAssociationExists(Boolean moreServerAssociationExists) { this.moreServerAssociationExists = moreServerAssociationExists; } /** ** Set to true if the application component is running on multiple servers. *
* * @return Set to true if the application component is running on multiple servers. */ public Boolean getMoreServerAssociationExists() { return this.moreServerAssociationExists; } /** ** Set to true if the application component is running on multiple servers. *
* * @param moreServerAssociationExists * Set to true if the application component is running on multiple servers. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withMoreServerAssociationExists(Boolean moreServerAssociationExists) { setMoreServerAssociationExists(moreServerAssociationExists); return this; } /** ** Set to true if the application component is running on multiple servers. *
* * @return Set to true if the application component is running on multiple servers. */ public Boolean isMoreServerAssociationExists() { return this.moreServerAssociationExists; } /** ** The name of application component. *
* * @param name * The name of application component. */ public void setName(String name) { this.name = name; } /** ** The name of application component. *
* * @return The name of application component. */ public String getName() { return this.name; } /** ** The name of application component. *
* * @param name * The name of application component. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withName(String name) { setName(name); return this; } /** ** OS driver. *
* * @param osDriver * OS driver. */ public void setOsDriver(String osDriver) { this.osDriver = osDriver; } /** ** OS driver. *
* * @return OS driver. */ public String getOsDriver() { return this.osDriver; } /** ** OS driver. *
* * @param osDriver * OS driver. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withOsDriver(String osDriver) { setOsDriver(osDriver); return this; } /** ** OS version. *
* * @param osVersion * OS version. */ public void setOsVersion(String osVersion) { this.osVersion = osVersion; } /** ** OS version. *
* * @return OS version. */ public String getOsVersion() { return this.osVersion; } /** ** OS version. *
* * @param osVersion * OS version. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withOsVersion(String osVersion) { setOsVersion(osVersion); return this; } /** ** The top recommendation set for the application component. *
* * @param recommendationSet * The top recommendation set for the application component. */ public void setRecommendationSet(RecommendationSet recommendationSet) { this.recommendationSet = recommendationSet; } /** ** The top recommendation set for the application component. *
* * @return The top recommendation set for the application component. */ public RecommendationSet getRecommendationSet() { return this.recommendationSet; } /** ** The top recommendation set for the application component. *
* * @param recommendationSet * The top recommendation set for the application component. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withRecommendationSet(RecommendationSet recommendationSet) { setRecommendationSet(recommendationSet); return this; } /** ** The application component subtype. *
* * @param resourceSubType * The application component subtype. * @see ResourceSubType */ public void setResourceSubType(String resourceSubType) { this.resourceSubType = resourceSubType; } /** ** The application component subtype. *
* * @return The application component subtype. * @see ResourceSubType */ public String getResourceSubType() { return this.resourceSubType; } /** ** The application component subtype. *
* * @param resourceSubType * The application component subtype. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceSubType */ public ApplicationComponentDetail withResourceSubType(String resourceSubType) { setResourceSubType(resourceSubType); return this; } /** ** The application component subtype. *
* * @param resourceSubType * The application component subtype. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceSubType */ public ApplicationComponentDetail withResourceSubType(ResourceSubType resourceSubType) { this.resourceSubType = resourceSubType.toString(); return this; } /** ** A list of the analysis results. *
* * @return A list of the analysis results. */ public java.util.List* A list of the analysis results. *
* * @param resultList * A list of the analysis results. */ public void setResultList(java.util.Collection* A list of the analysis results. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setResultList(java.util.Collection)} or {@link #withResultList(java.util.Collection)} if you want to * override the existing values. *
* * @param resultList * A list of the analysis results. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withResultList(Result... resultList) { if (this.resultList == null) { setResultList(new java.util.ArrayList* A list of the analysis results. *
* * @param resultList * A list of the analysis results. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withResultList(java.util.Collection* The status of the application unit. *
* * @param runtimeStatus * The status of the application unit. * @see RuntimeAnalysisStatus */ public void setRuntimeStatus(String runtimeStatus) { this.runtimeStatus = runtimeStatus; } /** ** The status of the application unit. *
* * @return The status of the application unit. * @see RuntimeAnalysisStatus */ public String getRuntimeStatus() { return this.runtimeStatus; } /** ** The status of the application unit. *
* * @param runtimeStatus * The status of the application unit. * @return Returns a reference to this object so that method calls can be chained together. * @see RuntimeAnalysisStatus */ public ApplicationComponentDetail withRuntimeStatus(String runtimeStatus) { setRuntimeStatus(runtimeStatus); return this; } /** ** The status of the application unit. *
* * @param runtimeStatus * The status of the application unit. * @return Returns a reference to this object so that method calls can be chained together. * @see RuntimeAnalysisStatus */ public ApplicationComponentDetail withRuntimeStatus(RuntimeAnalysisStatus runtimeStatus) { this.runtimeStatus = runtimeStatus.toString(); return this; } /** ** The status message for the application unit. *
* * @param runtimeStatusMessage * The status message for the application unit. */ public void setRuntimeStatusMessage(String runtimeStatusMessage) { this.runtimeStatusMessage = runtimeStatusMessage; } /** ** The status message for the application unit. *
* * @return The status message for the application unit. */ public String getRuntimeStatusMessage() { return this.runtimeStatusMessage; } /** ** The status message for the application unit. *
* * @param runtimeStatusMessage * The status message for the application unit. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withRuntimeStatusMessage(String runtimeStatusMessage) { setRuntimeStatusMessage(runtimeStatusMessage); return this; } /** ** Details about the source code repository associated with the application component. *
* * @return Details about the source code repository associated with the application component. */ public java.util.List* Details about the source code repository associated with the application component. *
* * @param sourceCodeRepositories * Details about the source code repository associated with the application component. */ public void setSourceCodeRepositories(java.util.Collection* Details about the source code repository associated with the application component. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSourceCodeRepositories(java.util.Collection)} or * {@link #withSourceCodeRepositories(java.util.Collection)} if you want to override the existing values. *
* * @param sourceCodeRepositories * Details about the source code repository associated with the application component. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withSourceCodeRepositories(SourceCodeRepository... sourceCodeRepositories) { if (this.sourceCodeRepositories == null) { setSourceCodeRepositories(new java.util.ArrayList* Details about the source code repository associated with the application component. *
* * @param sourceCodeRepositories * Details about the source code repository associated with the application component. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withSourceCodeRepositories(java.util.Collection* A detailed description of the analysis status and any failure message. *
* * @param statusMessage * A detailed description of the analysis status and any failure message. */ public void setStatusMessage(String statusMessage) { this.statusMessage = statusMessage; } /** ** A detailed description of the analysis status and any failure message. *
* * @return A detailed description of the analysis status and any failure message. */ public String getStatusMessage() { return this.statusMessage; } /** ** A detailed description of the analysis status and any failure message. *
* * @param statusMessage * A detailed description of the analysis status and any failure message. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationComponentDetail withStatusMessage(String statusMessage) { setStatusMessage(statusMessage); 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 (getAnalysisStatus() != null) sb.append("AnalysisStatus: ").append(getAnalysisStatus()).append(","); if (getAntipatternReportS3Object() != null) sb.append("AntipatternReportS3Object: ").append(getAntipatternReportS3Object()).append(","); if (getAntipatternReportStatus() != null) sb.append("AntipatternReportStatus: ").append(getAntipatternReportStatus()).append(","); if (getAntipatternReportStatusMessage() != null) sb.append("AntipatternReportStatusMessage: ").append(getAntipatternReportStatusMessage()).append(","); if (getAppType() != null) sb.append("AppType: ").append(getAppType()).append(","); if (getAppUnitError() != null) sb.append("AppUnitError: ").append(getAppUnitError()).append(","); if (getAssociatedServerId() != null) sb.append("AssociatedServerId: ").append(getAssociatedServerId()).append(","); if (getDatabaseConfigDetail() != null) sb.append("DatabaseConfigDetail: ").append(getDatabaseConfigDetail()).append(","); if (getId() != null) sb.append("Id: ").append(getId()).append(","); if (getInclusionStatus() != null) sb.append("InclusionStatus: ").append(getInclusionStatus()).append(","); if (getLastAnalyzedTimestamp() != null) sb.append("LastAnalyzedTimestamp: ").append(getLastAnalyzedTimestamp()).append(","); if (getListAntipatternSeveritySummary() != null) sb.append("ListAntipatternSeveritySummary: ").append(getListAntipatternSeveritySummary()).append(","); if (getMoreServerAssociationExists() != null) sb.append("MoreServerAssociationExists: ").append(getMoreServerAssociationExists()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getOsDriver() != null) sb.append("OsDriver: ").append(getOsDriver()).append(","); if (getOsVersion() != null) sb.append("OsVersion: ").append(getOsVersion()).append(","); if (getRecommendationSet() != null) sb.append("RecommendationSet: ").append(getRecommendationSet()).append(","); if (getResourceSubType() != null) sb.append("ResourceSubType: ").append(getResourceSubType()).append(","); if (getResultList() != null) sb.append("ResultList: ").append(getResultList()).append(","); if (getRuntimeStatus() != null) sb.append("RuntimeStatus: ").append(getRuntimeStatus()).append(","); if (getRuntimeStatusMessage() != null) sb.append("RuntimeStatusMessage: ").append(getRuntimeStatusMessage()).append(","); if (getSourceCodeRepositories() != null) sb.append("SourceCodeRepositories: ").append(getSourceCodeRepositories()).append(","); if (getStatusMessage() != null) sb.append("StatusMessage: ").append(getStatusMessage()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ApplicationComponentDetail == false) return false; ApplicationComponentDetail other = (ApplicationComponentDetail) obj; if (other.getAnalysisStatus() == null ^ this.getAnalysisStatus() == null) return false; if (other.getAnalysisStatus() != null && other.getAnalysisStatus().equals(this.getAnalysisStatus()) == false) return false; if (other.getAntipatternReportS3Object() == null ^ this.getAntipatternReportS3Object() == null) return false; if (other.getAntipatternReportS3Object() != null && other.getAntipatternReportS3Object().equals(this.getAntipatternReportS3Object()) == false) return false; if (other.getAntipatternReportStatus() == null ^ this.getAntipatternReportStatus() == null) return false; if (other.getAntipatternReportStatus() != null && other.getAntipatternReportStatus().equals(this.getAntipatternReportStatus()) == false) return false; if (other.getAntipatternReportStatusMessage() == null ^ this.getAntipatternReportStatusMessage() == null) return false; if (other.getAntipatternReportStatusMessage() != null && other.getAntipatternReportStatusMessage().equals(this.getAntipatternReportStatusMessage()) == false) return false; if (other.getAppType() == null ^ this.getAppType() == null) return false; if (other.getAppType() != null && other.getAppType().equals(this.getAppType()) == false) return false; if (other.getAppUnitError() == null ^ this.getAppUnitError() == null) return false; if (other.getAppUnitError() != null && other.getAppUnitError().equals(this.getAppUnitError()) == false) return false; if (other.getAssociatedServerId() == null ^ this.getAssociatedServerId() == null) return false; if (other.getAssociatedServerId() != null && other.getAssociatedServerId().equals(this.getAssociatedServerId()) == false) return false; if (other.getDatabaseConfigDetail() == null ^ this.getDatabaseConfigDetail() == null) return false; if (other.getDatabaseConfigDetail() != null && other.getDatabaseConfigDetail().equals(this.getDatabaseConfigDetail()) == false) return false; if (other.getId() == null ^ this.getId() == null) return false; if (other.getId() != null && other.getId().equals(this.getId()) == false) return false; if (other.getInclusionStatus() == null ^ this.getInclusionStatus() == null) return false; if (other.getInclusionStatus() != null && other.getInclusionStatus().equals(this.getInclusionStatus()) == false) return false; if (other.getLastAnalyzedTimestamp() == null ^ this.getLastAnalyzedTimestamp() == null) return false; if (other.getLastAnalyzedTimestamp() != null && other.getLastAnalyzedTimestamp().equals(this.getLastAnalyzedTimestamp()) == false) return false; if (other.getListAntipatternSeveritySummary() == null ^ this.getListAntipatternSeveritySummary() == null) return false; if (other.getListAntipatternSeveritySummary() != null && other.getListAntipatternSeveritySummary().equals(this.getListAntipatternSeveritySummary()) == false) return false; if (other.getMoreServerAssociationExists() == null ^ this.getMoreServerAssociationExists() == null) return false; if (other.getMoreServerAssociationExists() != null && other.getMoreServerAssociationExists().equals(this.getMoreServerAssociationExists()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getOsDriver() == null ^ this.getOsDriver() == null) return false; if (other.getOsDriver() != null && other.getOsDriver().equals(this.getOsDriver()) == false) return false; if (other.getOsVersion() == null ^ this.getOsVersion() == null) return false; if (other.getOsVersion() != null && other.getOsVersion().equals(this.getOsVersion()) == false) return false; if (other.getRecommendationSet() == null ^ this.getRecommendationSet() == null) return false; if (other.getRecommendationSet() != null && other.getRecommendationSet().equals(this.getRecommendationSet()) == false) return false; if (other.getResourceSubType() == null ^ this.getResourceSubType() == null) return false; if (other.getResourceSubType() != null && other.getResourceSubType().equals(this.getResourceSubType()) == false) return false; if (other.getResultList() == null ^ this.getResultList() == null) return false; if (other.getResultList() != null && other.getResultList().equals(this.getResultList()) == false) return false; if (other.getRuntimeStatus() == null ^ this.getRuntimeStatus() == null) return false; if (other.getRuntimeStatus() != null && other.getRuntimeStatus().equals(this.getRuntimeStatus()) == false) return false; if (other.getRuntimeStatusMessage() == null ^ this.getRuntimeStatusMessage() == null) return false; if (other.getRuntimeStatusMessage() != null && other.getRuntimeStatusMessage().equals(this.getRuntimeStatusMessage()) == false) return false; if (other.getSourceCodeRepositories() == null ^ this.getSourceCodeRepositories() == null) return false; if (other.getSourceCodeRepositories() != null && other.getSourceCodeRepositories().equals(this.getSourceCodeRepositories()) == false) return false; if (other.getStatusMessage() == null ^ this.getStatusMessage() == null) return false; if (other.getStatusMessage() != null && other.getStatusMessage().equals(this.getStatusMessage()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAnalysisStatus() == null) ? 0 : getAnalysisStatus().hashCode()); hashCode = prime * hashCode + ((getAntipatternReportS3Object() == null) ? 0 : getAntipatternReportS3Object().hashCode()); hashCode = prime * hashCode + ((getAntipatternReportStatus() == null) ? 0 : getAntipatternReportStatus().hashCode()); hashCode = prime * hashCode + ((getAntipatternReportStatusMessage() == null) ? 0 : getAntipatternReportStatusMessage().hashCode()); hashCode = prime * hashCode + ((getAppType() == null) ? 0 : getAppType().hashCode()); hashCode = prime * hashCode + ((getAppUnitError() == null) ? 0 : getAppUnitError().hashCode()); hashCode = prime * hashCode + ((getAssociatedServerId() == null) ? 0 : getAssociatedServerId().hashCode()); hashCode = prime * hashCode + ((getDatabaseConfigDetail() == null) ? 0 : getDatabaseConfigDetail().hashCode()); hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); hashCode = prime * hashCode + ((getInclusionStatus() == null) ? 0 : getInclusionStatus().hashCode()); hashCode = prime * hashCode + ((getLastAnalyzedTimestamp() == null) ? 0 : getLastAnalyzedTimestamp().hashCode()); hashCode = prime * hashCode + ((getListAntipatternSeveritySummary() == null) ? 0 : getListAntipatternSeveritySummary().hashCode()); hashCode = prime * hashCode + ((getMoreServerAssociationExists() == null) ? 0 : getMoreServerAssociationExists().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getOsDriver() == null) ? 0 : getOsDriver().hashCode()); hashCode = prime * hashCode + ((getOsVersion() == null) ? 0 : getOsVersion().hashCode()); hashCode = prime * hashCode + ((getRecommendationSet() == null) ? 0 : getRecommendationSet().hashCode()); hashCode = prime * hashCode + ((getResourceSubType() == null) ? 0 : getResourceSubType().hashCode()); hashCode = prime * hashCode + ((getResultList() == null) ? 0 : getResultList().hashCode()); hashCode = prime * hashCode + ((getRuntimeStatus() == null) ? 0 : getRuntimeStatus().hashCode()); hashCode = prime * hashCode + ((getRuntimeStatusMessage() == null) ? 0 : getRuntimeStatusMessage().hashCode()); hashCode = prime * hashCode + ((getSourceCodeRepositories() == null) ? 0 : getSourceCodeRepositories().hashCode()); hashCode = prime * hashCode + ((getStatusMessage() == null) ? 0 : getStatusMessage().hashCode()); return hashCode; } @Override public ApplicationComponentDetail clone() { try { return (ApplicationComponentDetail) 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.migrationhubstrategyrecommendations.model.transform.ApplicationComponentDetailMarshaller.getInstance().marshall(this, protocolMarshaller); } }