/* * Copyright 2010-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.comprehend.model; import java.io.Serializable; /** *

* A reference to a block. *

*/ public class BlockReference implements Serializable { /** *

* Unique identifier for the block. *

*

* Constraints:
* Length: 1 -
*/ private String blockId; /** *

* Offset of the start of the block within its parent block. *

*/ private Integer beginOffset; /** *

* Offset of the end of the block within its parent block. *

*/ private Integer endOffset; /** *

* List of child blocks within this block. *

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

* Unique identifier for the block. *

*

* Constraints:
* Length: 1 -
* * @return

* Unique identifier for the block. *

*/ public String getBlockId() { return blockId; } /** *

* Unique identifier for the block. *

*

* Constraints:
* Length: 1 -
* * @param blockId

* Unique identifier for the block. *

*/ public void setBlockId(String blockId) { this.blockId = blockId; } /** *

* Unique identifier for the block. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 -
* * @param blockId

* Unique identifier for the block. *

* @return A reference to this updated object so that method calls can be * chained together. */ public BlockReference withBlockId(String blockId) { this.blockId = blockId; return this; } /** *

* Offset of the start of the block within its parent block. *

* * @return

* Offset of the start of the block within its parent block. *

*/ public Integer getBeginOffset() { return beginOffset; } /** *

* Offset of the start of the block within its parent block. *

* * @param beginOffset

* Offset of the start of the block within its parent block. *

*/ public void setBeginOffset(Integer beginOffset) { this.beginOffset = beginOffset; } /** *

* Offset of the start of the block within its parent block. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param beginOffset

* Offset of the start of the block within its parent block. *

* @return A reference to this updated object so that method calls can be * chained together. */ public BlockReference withBeginOffset(Integer beginOffset) { this.beginOffset = beginOffset; return this; } /** *

* Offset of the end of the block within its parent block. *

* * @return

* Offset of the end of the block within its parent block. *

*/ public Integer getEndOffset() { return endOffset; } /** *

* Offset of the end of the block within its parent block. *

* * @param endOffset

* Offset of the end of the block within its parent block. *

*/ public void setEndOffset(Integer endOffset) { this.endOffset = endOffset; } /** *

* Offset of the end of the block within its parent block. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param endOffset

* Offset of the end of the block within its parent block. *

* @return A reference to this updated object so that method calls can be * chained together. */ public BlockReference withEndOffset(Integer endOffset) { this.endOffset = endOffset; return this; } /** *

* List of child blocks within this block. *

* * @return

* List of child blocks within this block. *

*/ public java.util.List getChildBlocks() { return childBlocks; } /** *

* List of child blocks within this block. *

* * @param childBlocks

* List of child blocks within this block. *

*/ public void setChildBlocks(java.util.Collection childBlocks) { if (childBlocks == null) { this.childBlocks = null; return; } this.childBlocks = new java.util.ArrayList(childBlocks); } /** *

* List of child blocks within this block. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param childBlocks

* List of child blocks within this block. *

* @return A reference to this updated object so that method calls can be * chained together. */ public BlockReference withChildBlocks(ChildBlock... childBlocks) { if (getChildBlocks() == null) { this.childBlocks = new java.util.ArrayList(childBlocks.length); } for (ChildBlock value : childBlocks) { this.childBlocks.add(value); } return this; } /** *

* List of child blocks within this block. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param childBlocks

* List of child blocks within this block. *

* @return A reference to this updated object so that method calls can be * chained together. */ public BlockReference withChildBlocks(java.util.Collection childBlocks) { setChildBlocks(childBlocks); 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 (getBlockId() != null) sb.append("BlockId: " + getBlockId() + ","); if (getBeginOffset() != null) sb.append("BeginOffset: " + getBeginOffset() + ","); if (getEndOffset() != null) sb.append("EndOffset: " + getEndOffset() + ","); if (getChildBlocks() != null) sb.append("ChildBlocks: " + getChildBlocks()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getBlockId() == null) ? 0 : getBlockId().hashCode()); hashCode = prime * hashCode + ((getBeginOffset() == null) ? 0 : getBeginOffset().hashCode()); hashCode = prime * hashCode + ((getEndOffset() == null) ? 0 : getEndOffset().hashCode()); hashCode = prime * hashCode + ((getChildBlocks() == null) ? 0 : getChildBlocks().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof BlockReference == false) return false; BlockReference other = (BlockReference) obj; if (other.getBlockId() == null ^ this.getBlockId() == null) return false; if (other.getBlockId() != null && other.getBlockId().equals(this.getBlockId()) == false) return false; if (other.getBeginOffset() == null ^ this.getBeginOffset() == null) return false; if (other.getBeginOffset() != null && other.getBeginOffset().equals(this.getBeginOffset()) == false) return false; if (other.getEndOffset() == null ^ this.getEndOffset() == null) return false; if (other.getEndOffset() != null && other.getEndOffset().equals(this.getEndOffset()) == false) return false; if (other.getChildBlocks() == null ^ this.getChildBlocks() == null) return false; if (other.getChildBlocks() != null && other.getChildBlocks().equals(this.getChildBlocks()) == false) return false; return true; } }