[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Interface KeyRangeOrBuilder (6.98.1)\n\nVersion latestkeyboard_arrow_down\n\n- [6.98.1 (latest)](/java/docs/reference/google-cloud-spanner/latest/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.98.0](/java/docs/reference/google-cloud-spanner/6.98.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.97.1](/java/docs/reference/google-cloud-spanner/6.97.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.96.1](/java/docs/reference/google-cloud-spanner/6.96.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.95.1](/java/docs/reference/google-cloud-spanner/6.95.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.94.0](/java/docs/reference/google-cloud-spanner/6.94.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.93.0](/java/docs/reference/google-cloud-spanner/6.93.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.89.0](/java/docs/reference/google-cloud-spanner/6.89.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.88.0](/java/docs/reference/google-cloud-spanner/6.88.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.87.0](/java/docs/reference/google-cloud-spanner/6.87.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.86.0](/java/docs/reference/google-cloud-spanner/6.86.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.85.0](/java/docs/reference/google-cloud-spanner/6.85.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.83.0](/java/docs/reference/google-cloud-spanner/6.83.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.82.0](/java/docs/reference/google-cloud-spanner/6.82.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.80.1](/java/docs/reference/google-cloud-spanner/6.80.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.79.0](/java/docs/reference/google-cloud-spanner/6.79.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.77.0](/java/docs/reference/google-cloud-spanner/6.77.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.74.1](/java/docs/reference/google-cloud-spanner/6.74.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.72.0](/java/docs/reference/google-cloud-spanner/6.72.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.71.0](/java/docs/reference/google-cloud-spanner/6.71.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.69.0](/java/docs/reference/google-cloud-spanner/6.69.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.68.0](/java/docs/reference/google-cloud-spanner/6.68.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.66.0](/java/docs/reference/google-cloud-spanner/6.66.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.65.1](/java/docs/reference/google-cloud-spanner/6.65.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.62.0](/java/docs/reference/google-cloud-spanner/6.62.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.60.0](/java/docs/reference/google-cloud-spanner/6.60.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.58.0](/java/docs/reference/google-cloud-spanner/6.58.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.57.0](/java/docs/reference/google-cloud-spanner/6.57.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.56.0](/java/docs/reference/google-cloud-spanner/6.56.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.55.0](/java/docs/reference/google-cloud-spanner/6.55.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.54.0](/java/docs/reference/google-cloud-spanner/6.54.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.53.0](/java/docs/reference/google-cloud-spanner/6.53.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.52.1](/java/docs/reference/google-cloud-spanner/6.52.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.51.0](/java/docs/reference/google-cloud-spanner/6.51.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.50.1](/java/docs/reference/google-cloud-spanner/6.50.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.49.0](/java/docs/reference/google-cloud-spanner/6.49.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.25.1](/java/docs/reference/google-cloud-spanner/6.25.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.24.0](/java/docs/reference/google-cloud-spanner/6.24.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.23.4](/java/docs/reference/google-cloud-spanner/6.23.4/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.22.0](/java/docs/reference/google-cloud-spanner/6.22.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.21.2](/java/docs/reference/google-cloud-spanner/6.21.2/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.20.0](/java/docs/reference/google-cloud-spanner/6.20.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.19.1](/java/docs/reference/google-cloud-spanner/6.19.1/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.18.0](/java/docs/reference/google-cloud-spanner/6.18.0/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.17.4](/java/docs/reference/google-cloud-spanner/6.17.4/com.google.spanner.v1.KeyRangeOrBuilder)\n- [6.14.1](/java/docs/reference/google-cloud-spanner/6.14.1/com.google.spanner.v1.KeyRangeOrBuilder) \n\n public interface KeyRangeOrBuilder extends MessageOrBuilder\n\nImplements\n----------\n\n[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)\n\nMethods\n-------\n\n### getEndClosed()\n\n public abstract ListValue getEndClosed()\n\nIf the end is closed, then the range includes all rows whose\nfirst `len(end_closed)` key columns exactly match `end_closed`.\n\n`.google.protobuf.ListValue end_closed = 3;`\n\n### getEndClosedOrBuilder()\n\n public abstract ListValueOrBuilder getEndClosedOrBuilder()\n\nIf the end is closed, then the range includes all rows whose\nfirst `len(end_closed)` key columns exactly match `end_closed`.\n\n`.google.protobuf.ListValue end_closed = 3;`\n\n### getEndKeyTypeCase()\n\n public abstract KeyRange.EndKeyTypeCase getEndKeyTypeCase()\n\n### getEndOpen()\n\n public abstract ListValue getEndOpen()\n\nIf the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.\n\n`.google.protobuf.ListValue end_open = 4;`\n\n### getEndOpenOrBuilder()\n\n public abstract ListValueOrBuilder getEndOpenOrBuilder()\n\nIf the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.\n\n`.google.protobuf.ListValue end_open = 4;`\n\n### getStartClosed()\n\n public abstract ListValue getStartClosed()\n\nIf the start is closed, then the range includes all rows whose\nfirst `len(start_closed)` key columns exactly match `start_closed`.\n\n`.google.protobuf.ListValue start_closed = 1;`\n\n### getStartClosedOrBuilder()\n\n public abstract ListValueOrBuilder getStartClosedOrBuilder()\n\nIf the start is closed, then the range includes all rows whose\nfirst `len(start_closed)` key columns exactly match `start_closed`.\n\n`.google.protobuf.ListValue start_closed = 1;`\n\n### getStartKeyTypeCase()\n\n public abstract KeyRange.StartKeyTypeCase getStartKeyTypeCase()\n\n### getStartOpen()\n\n public abstract ListValue getStartOpen()\n\nIf the start is open, then the range excludes rows whose first\n`len(start_open)` key columns exactly match `start_open`.\n\n`.google.protobuf.ListValue start_open = 2;`\n\n### getStartOpenOrBuilder()\n\n public abstract ListValueOrBuilder getStartOpenOrBuilder()\n\nIf the start is open, then the range excludes rows whose first\n`len(start_open)` key columns exactly match `start_open`.\n\n`.google.protobuf.ListValue start_open = 2;`\n\n### hasEndClosed()\n\n public abstract boolean hasEndClosed()\n\nIf the end is closed, then the range includes all rows whose\nfirst `len(end_closed)` key columns exactly match `end_closed`.\n\n`.google.protobuf.ListValue end_closed = 3;`\n\n### hasEndOpen()\n\n public abstract boolean hasEndOpen()\n\nIf the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.\n\n`.google.protobuf.ListValue end_open = 4;`\n\n### hasStartClosed()\n\n public abstract boolean hasStartClosed()\n\nIf the start is closed, then the range includes all rows whose\nfirst `len(start_closed)` key columns exactly match `start_closed`.\n\n`.google.protobuf.ListValue start_closed = 1;`\n\n### hasStartOpen()\n\n public abstract boolean hasStartOpen()\n\nIf the start is open, then the range excludes rows whose first\n`len(start_open)` key columns exactly match `start_open`.\n\n`.google.protobuf.ListValue start_open = 2;`"]]