• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.devtools.cloudtrace.v2;
18 
19 import com.google.api.pathtemplate.PathTemplate;
20 import com.google.api.resourcenames.ResourceName;
21 import com.google.common.base.Preconditions;
22 import com.google.common.collect.ImmutableMap;
23 import java.util.ArrayList;
24 import java.util.List;
25 import java.util.Map;
26 import java.util.Objects;
27 import javax.annotation.Generated;
28 
29 // AUTO-GENERATED DOCUMENTATION AND CLASS.
30 @Generated("by gapic-generator-java")
31 public class ProjectName implements ResourceName {
32   private static final PathTemplate PROJECT =
33       PathTemplate.createWithoutUrlEncoding("projects/{project}");
34   private volatile Map<String, String> fieldValuesMap;
35   private final String project;
36 
37   @Deprecated
ProjectName()38   protected ProjectName() {
39     project = null;
40   }
41 
ProjectName(Builder builder)42   private ProjectName(Builder builder) {
43     project = Preconditions.checkNotNull(builder.getProject());
44   }
45 
getProject()46   public String getProject() {
47     return project;
48   }
49 
newBuilder()50   public static Builder newBuilder() {
51     return new Builder();
52   }
53 
toBuilder()54   public Builder toBuilder() {
55     return new Builder(this);
56   }
57 
of(String project)58   public static ProjectName of(String project) {
59     return newBuilder().setProject(project).build();
60   }
61 
format(String project)62   public static String format(String project) {
63     return newBuilder().setProject(project).build().toString();
64   }
65 
parse(String formattedString)66   public static ProjectName parse(String formattedString) {
67     if (formattedString.isEmpty()) {
68       return null;
69     }
70     Map<String, String> matchMap =
71         PROJECT.validatedMatch(
72             formattedString, "ProjectName.parse: formattedString not in valid format");
73     return of(matchMap.get("project"));
74   }
75 
parseList(List<String> formattedStrings)76   public static List<ProjectName> parseList(List<String> formattedStrings) {
77     List<ProjectName> list = new ArrayList<>(formattedStrings.size());
78     for (String formattedString : formattedStrings) {
79       list.add(parse(formattedString));
80     }
81     return list;
82   }
83 
toStringList(List<ProjectName> values)84   public static List<String> toStringList(List<ProjectName> values) {
85     List<String> list = new ArrayList<>(values.size());
86     for (ProjectName value : values) {
87       if (value == null) {
88         list.add("");
89       } else {
90         list.add(value.toString());
91       }
92     }
93     return list;
94   }
95 
isParsableFrom(String formattedString)96   public static boolean isParsableFrom(String formattedString) {
97     return PROJECT.matches(formattedString);
98   }
99 
100   @Override
getFieldValuesMap()101   public Map<String, String> getFieldValuesMap() {
102     if (fieldValuesMap == null) {
103       synchronized (this) {
104         if (fieldValuesMap == null) {
105           ImmutableMap.Builder<String, String> fieldMapBuilder = ImmutableMap.builder();
106           if (project != null) {
107             fieldMapBuilder.put("project", project);
108           }
109           fieldValuesMap = fieldMapBuilder.build();
110         }
111       }
112     }
113     return fieldValuesMap;
114   }
115 
getFieldValue(String fieldName)116   public String getFieldValue(String fieldName) {
117     return getFieldValuesMap().get(fieldName);
118   }
119 
120   @Override
toString()121   public String toString() {
122     return PROJECT.instantiate("project", project);
123   }
124 
125   @Override
equals(Object o)126   public boolean equals(Object o) {
127     if (o == this) {
128       return true;
129     }
130     if (o != null || getClass() == o.getClass()) {
131       ProjectName that = ((ProjectName) o);
132       return Objects.equals(this.project, that.project);
133     }
134     return false;
135   }
136 
137   @Override
hashCode()138   public int hashCode() {
139     int h = 1;
140     h *= 1000003;
141     h ^= Objects.hashCode(project);
142     return h;
143   }
144 
145   /** Builder for projects/{project}. */
146   public static class Builder {
147     private String project;
148 
Builder()149     protected Builder() {}
150 
getProject()151     public String getProject() {
152       return project;
153     }
154 
setProject(String project)155     public Builder setProject(String project) {
156       this.project = project;
157       return this;
158     }
159 
Builder(ProjectName projectName)160     private Builder(ProjectName projectName) {
161       this.project = projectName.project;
162     }
163 
build()164     public ProjectName build() {
165       return new ProjectName(this);
166     }
167   }
168 }
169