Skip to content

Commit 77952d2

Browse files
build(owlbot): un-final static create methods in Admin Base clients (#2898)
* build(owlbot): un-final static create methods in Admin Base clients Updates owlbot.py to programmatically remove the \`final\` modifier from the static \`create\` factory methods in the generated BaseBigtableTableAdminClient and BaseBigtableInstanceAdminClient. * chore: generate libraries at Tue Apr 21 19:44:13 UTC 2026 * PR feedback * chore: generate libraries at Wed Apr 22 18:25:03 UTC 2026 --------- Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
1 parent c487581 commit 77952d2

3 files changed

Lines changed: 14 additions & 6 deletions

File tree

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ public class BaseBigtableInstanceAdminClient implements BackgroundResource {
777777
private final OperationsClient operationsClient;
778778

779779
/** Constructs an instance of BaseBigtableInstanceAdminClient with default settings. */
780-
public static final BaseBigtableInstanceAdminClient create() throws IOException {
780+
protected static BaseBigtableInstanceAdminClient create() throws IOException {
781781
return create(BaseBigtableInstanceAdminSettings.newBuilder().build());
782782
}
783783

@@ -786,7 +786,7 @@ public static final BaseBigtableInstanceAdminClient create() throws IOException
786786
* channels are created based on the settings passed in, or defaults for any settings that are not
787787
* set.
788788
*/
789-
public static final BaseBigtableInstanceAdminClient create(
789+
protected static BaseBigtableInstanceAdminClient create(
790790
BaseBigtableInstanceAdminSettings settings) throws IOException {
791791
return new BaseBigtableInstanceAdminClient(settings);
792792
}
@@ -795,7 +795,7 @@ public static final BaseBigtableInstanceAdminClient create(
795795
* Constructs an instance of BaseBigtableInstanceAdminClient, using the given stub for making
796796
* calls. This is for advanced usage - prefer using create(BaseBigtableInstanceAdminSettings).
797797
*/
798-
public static final BaseBigtableInstanceAdminClient create(BigtableInstanceAdminStub stub) {
798+
protected static BaseBigtableInstanceAdminClient create(BigtableInstanceAdminStub stub) {
799799
return new BaseBigtableInstanceAdminClient(stub);
800800
}
801801

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -870,15 +870,15 @@ public class BaseBigtableTableAdminClient implements BackgroundResource {
870870
private final OperationsClient operationsClient;
871871

872872
/** Constructs an instance of BaseBigtableTableAdminClient with default settings. */
873-
public static final BaseBigtableTableAdminClient create() throws IOException {
873+
protected static BaseBigtableTableAdminClient create() throws IOException {
874874
return create(BaseBigtableTableAdminSettings.newBuilder().build());
875875
}
876876

877877
/**
878878
* Constructs an instance of BaseBigtableTableAdminClient, using the given settings. The channels
879879
* are created based on the settings passed in, or defaults for any settings that are not set.
880880
*/
881-
public static final BaseBigtableTableAdminClient create(BaseBigtableTableAdminSettings settings)
881+
protected static BaseBigtableTableAdminClient create(BaseBigtableTableAdminSettings settings)
882882
throws IOException {
883883
return new BaseBigtableTableAdminClient(settings);
884884
}
@@ -887,7 +887,7 @@ public static final BaseBigtableTableAdminClient create(BaseBigtableTableAdminSe
887887
* Constructs an instance of BaseBigtableTableAdminClient, using the given stub for making calls.
888888
* This is for advanced usage - prefer using create(BaseBigtableTableAdminSettings).
889889
*/
890-
public static final BaseBigtableTableAdminClient create(BigtableTableAdminStub stub) {
890+
protected static BaseBigtableTableAdminClient create(BigtableTableAdminStub stub) {
891891
return new BaseBigtableTableAdminClient(stub);
892892
}
893893

owlbot.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ def make_internal_only(sources):
6767
if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/package-info.java"):
6868
os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/package-info.java")
6969

70+
# Remove the 'final' modifier from all static create() factory methods in the Base Admin clients
71+
# This allows our handwritten Selective GAPIC subclasses to hide these methods.
72+
s.replace(
73+
f"{library}/**/BaseBigtable*AdminClient.java",
74+
r"public static final BaseBigtable(.*)AdminClient create\(",
75+
r"protected static BaseBigtable\1AdminClient create("
76+
)
77+
7078
s.move(library)
7179

7280
s.remove_staging_dirs()

0 commit comments

Comments
 (0)