diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java index aadfd5b638..b23c08d265 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java @@ -777,7 +777,7 @@ public class BaseBigtableInstanceAdminClient implements BackgroundResource { private final OperationsClient operationsClient; /** Constructs an instance of BaseBigtableInstanceAdminClient with default settings. */ - public static final BaseBigtableInstanceAdminClient create() throws IOException { + protected static BaseBigtableInstanceAdminClient create() throws IOException { return create(BaseBigtableInstanceAdminSettings.newBuilder().build()); } @@ -786,7 +786,7 @@ public static final BaseBigtableInstanceAdminClient create() throws IOException * channels are created based on the settings passed in, or defaults for any settings that are not * set. */ - public static final BaseBigtableInstanceAdminClient create( + protected static BaseBigtableInstanceAdminClient create( BaseBigtableInstanceAdminSettings settings) throws IOException { return new BaseBigtableInstanceAdminClient(settings); } @@ -795,7 +795,7 @@ public static final BaseBigtableInstanceAdminClient create( * Constructs an instance of BaseBigtableInstanceAdminClient, using the given stub for making * calls. This is for advanced usage - prefer using create(BaseBigtableInstanceAdminSettings). */ - public static final BaseBigtableInstanceAdminClient create(BigtableInstanceAdminStub stub) { + protected static BaseBigtableInstanceAdminClient create(BigtableInstanceAdminStub stub) { return new BaseBigtableInstanceAdminClient(stub); } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java index 7caa206d32..9a3758b373 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java @@ -870,7 +870,7 @@ public class BaseBigtableTableAdminClient implements BackgroundResource { private final OperationsClient operationsClient; /** Constructs an instance of BaseBigtableTableAdminClient with default settings. */ - public static final BaseBigtableTableAdminClient create() throws IOException { + protected static BaseBigtableTableAdminClient create() throws IOException { return create(BaseBigtableTableAdminSettings.newBuilder().build()); } @@ -878,7 +878,7 @@ public static final BaseBigtableTableAdminClient create() throws IOException { * Constructs an instance of BaseBigtableTableAdminClient, using the given settings. The channels * are created based on the settings passed in, or defaults for any settings that are not set. */ - public static final BaseBigtableTableAdminClient create(BaseBigtableTableAdminSettings settings) + protected static BaseBigtableTableAdminClient create(BaseBigtableTableAdminSettings settings) throws IOException { return new BaseBigtableTableAdminClient(settings); } @@ -887,7 +887,7 @@ public static final BaseBigtableTableAdminClient create(BaseBigtableTableAdminSe * Constructs an instance of BaseBigtableTableAdminClient, using the given stub for making calls. * This is for advanced usage - prefer using create(BaseBigtableTableAdminSettings). */ - public static final BaseBigtableTableAdminClient create(BigtableTableAdminStub stub) { + protected static BaseBigtableTableAdminClient create(BigtableTableAdminStub stub) { return new BaseBigtableTableAdminClient(stub); } diff --git a/owlbot.py b/owlbot.py index f3f71fd2aa..8b4ebb3d39 100644 --- a/owlbot.py +++ b/owlbot.py @@ -67,6 +67,14 @@ def make_internal_only(sources): if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/package-info.java"): os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/package-info.java") + # Remove the 'final' modifier from all static create() factory methods in the Base Admin clients + # This allows our handwritten Selective GAPIC subclasses to hide these methods. + s.replace( + f"{library}/**/BaseBigtable*AdminClient.java", + r"public static final BaseBigtable(.*)AdminClient create\(", + r"protected static BaseBigtable\1AdminClient create(" + ) + s.move(library) s.remove_staging_dirs()