• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 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 io.grafeas.v1beta1;
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 
27 /** AUTO-GENERATED DOCUMENTATION AND CLASS */
28 @javax.annotation.Generated("by GAPIC protoc plugin")
29 public class ProjectName implements ResourceName {
30 
31   private static final PathTemplate PATH_TEMPLATE =
32       PathTemplate.createWithoutUrlEncoding("projects/{project}");
33 
34   private volatile Map<String, String> fieldValuesMap;
35 
36   private final String project;
37 
getProject()38   public String getProject() {
39     return project;
40   }
41 
newBuilder()42   public static Builder newBuilder() {
43     return new Builder();
44   }
45 
toBuilder()46   public Builder toBuilder() {
47     return new Builder(this);
48   }
49 
ProjectName(Builder builder)50   private ProjectName(Builder builder) {
51     project = Preconditions.checkNotNull(builder.getProject());
52   }
53 
of(String project)54   public static ProjectName of(String project) {
55     return newBuilder().setProject(project).build();
56   }
57 
format(String project)58   public static String format(String project) {
59     return newBuilder().setProject(project).build().toString();
60   }
61 
parse(String formattedString)62   public static ProjectName parse(String formattedString) {
63     if (formattedString.isEmpty()) {
64       return null;
65     }
66     Map<String, String> matchMap =
67         PATH_TEMPLATE.validatedMatch(
68             formattedString, "ProjectName.parse: formattedString not in valid format");
69     return of(matchMap.get("project"));
70   }
71 
parseList(List<String> formattedStrings)72   public static List<ProjectName> parseList(List<String> formattedStrings) {
73     List<ProjectName> list = new ArrayList<>(formattedStrings.size());
74     for (String formattedString : formattedStrings) {
75       list.add(parse(formattedString));
76     }
77     return list;
78   }
79 
toStringList(List<ProjectName> values)80   public static List<String> toStringList(List<ProjectName> values) {
81     List<String> list = new ArrayList<String>(values.size());
82     for (ProjectName value : values) {
83       if (value == null) {
84         list.add("");
85       } else {
86         list.add(value.toString());
87       }
88     }
89     return list;
90   }
91 
isParsableFrom(String formattedString)92   public static boolean isParsableFrom(String formattedString) {
93     return PATH_TEMPLATE.matches(formattedString);
94   }
95 
getFieldValuesMap()96   public Map<String, String> getFieldValuesMap() {
97     if (fieldValuesMap == null) {
98       synchronized (this) {
99         if (fieldValuesMap == null) {
100           ImmutableMap.Builder<String, String> fieldMapBuilder = ImmutableMap.builder();
101           fieldMapBuilder.put("project", project);
102           fieldValuesMap = fieldMapBuilder.build();
103         }
104       }
105     }
106     return fieldValuesMap;
107   }
108 
getFieldValue(String fieldName)109   public String getFieldValue(String fieldName) {
110     return getFieldValuesMap().get(fieldName);
111   }
112 
113   @Override
toString()114   public String toString() {
115     return PATH_TEMPLATE.instantiate("project", project);
116   }
117 
118   /** Builder for ProjectName. */
119   public static class Builder {
120 
121     private String project;
122 
getProject()123     public String getProject() {
124       return project;
125     }
126 
setProject(String project)127     public Builder setProject(String project) {
128       this.project = project;
129       return this;
130     }
131 
Builder()132     private Builder() {}
133 
Builder(ProjectName projectName)134     private Builder(ProjectName projectName) {
135       project = projectName.project;
136     }
137 
build()138     public ProjectName build() {
139       return new ProjectName(this);
140     }
141   }
142 
143   @Override
equals(Object o)144   public boolean equals(Object o) {
145     if (o == this) {
146       return true;
147     }
148     if (o instanceof ProjectName) {
149       ProjectName that = (ProjectName) o;
150       return (this.project.equals(that.project));
151     }
152     return false;
153   }
154 
155   @Override
hashCode()156   public int hashCode() {
157     int h = 1;
158     h *= 1000003;
159     h ^= project.hashCode();
160     return h;
161   }
162 }
163