1 // Copyright 2020 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //      http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 package com.google.api.generator.gapic.model;
16 
17 import com.google.api.generator.engine.ast.TypeNode;
18 import com.google.auto.value.AutoValue;
19 import javax.annotation.Nullable;
20 
21 @AutoValue
22 public abstract class LongrunningOperation {
responseType()23   public abstract TypeNode responseType();
24 
metadataType()25   public abstract TypeNode metadataType();
26 
27   @Nullable
operationServiceStubType()28   public abstract TypeNode operationServiceStubType();
29 
builder()30   public static Builder builder() {
31     return new AutoValue_LongrunningOperation.Builder();
32   }
33 
34   @AutoValue.Builder
35   public abstract static class Builder {
setResponseType(TypeNode responseType)36     public abstract Builder setResponseType(TypeNode responseType);
37 
setMetadataType(TypeNode metadataType)38     public abstract Builder setMetadataType(TypeNode metadataType);
39 
setOperationServiceStubType(TypeNode operationServiceType)40     public abstract Builder setOperationServiceStubType(TypeNode operationServiceType);
41 
build()42     public abstract LongrunningOperation build();
43   }
44 }
45