http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListObjectAccessControls.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListObjectAccessControls.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListObjectAccessControls.java deleted file mode 100644 index 2e2944d..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListObjectAccessControls.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.googlecloudstorage.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Set; - -import org.jclouds.googlecloudstorage.domain.Resource.Kind; - -import com.google.common.base.Objects; -import com.google.common.base.Objects.ToStringHelper; -import com.google.common.collect.ImmutableSet; - -public class ListObjectAccessControls { - - protected final Kind kind; - protected final Set<ObjectAccessControls> items; - - protected ListObjectAccessControls(Kind kind, Set<ObjectAccessControls> items) { - - this.kind = checkNotNull(kind, "kind"); - this.items = checkNotNull(items, "items"); - } - - public Kind getKind() { - return kind; - } - - public Set<ObjectAccessControls> getItems() { - return items; - } - - @Override - public int hashCode() { - return Objects.hashCode(kind, items); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - ListObjectAccessControls that = ListObjectAccessControls.class.cast(obj); - return equal(this.kind, that.kind) && equal(this.items, that.items); - - } - - protected ToStringHelper string() { - return toStringHelper(this).omitNullValues().add("kind", kind).add("items", items); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromListObjectAccessControls(this); - } - - public static final class Builder { - - private Kind kind; - private ImmutableSet.Builder<ObjectAccessControls> items = ImmutableSet.builder(); - - public Builder kind(Kind kind) { - this.kind = checkNotNull(kind , "kind"); - return this; - } - - public Builder addItems(ObjectAccessControls bucketAccessControls) { - this.items.add(bucketAccessControls); - return this; - } - - public Builder items(Set<ObjectAccessControls> items) { - this.items.addAll(items); - return this; - } - - public ListObjectAccessControls build() { - return new ListObjectAccessControls(this.kind, items.build()); - } - - public Builder fromListObjectAccessControls(ListObjectAccessControls in) { - return this.kind(in.getKind()).items(in.getItems()); - } - } -}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListPage.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListPage.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListPage.java index d01add6..147e3c7 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListPage.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ListPage.java @@ -16,136 +16,43 @@ */ package org.jclouds.googlecloudstorage.domain; -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; +import java.util.List; -import java.beans.ConstructorProperties; -import java.util.Iterator; -import java.util.Set; +import org.jclouds.javax.annotation.Nullable; +import org.jclouds.json.SerializedNames; -import org.jclouds.collect.IterableWithMarker; -import org.jclouds.googlecloudstorage.domain.Resource.Kind; - -import com.google.common.base.Objects; -import com.google.common.base.Optional; +import com.google.common.collect.ForwardingList; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; /** * The collection returned from any <code>listFirstPage()</code> method. */ -public class ListPage<T> extends IterableWithMarker<T> { +public class ListPage<T> extends ForwardingList<T> { - private final Kind kind; + private final List<T> items; private final String nextPageToken; - private final Iterable<T> items; - private final Set<String> prefixes; + private final List<String> prefixes; - @ConstructorProperties({ "kind", "nextPageToken", "items", "prefixes" }) - protected ListPage(Kind kind, String nextPageToken, Iterable<T> items, Set<String> prefixes) { + public static <T> ListPage<T> create(Iterable<T> items, String nextPageToken, List<String> prefixes) { + return new ListPage<T>(items, nextPageToken, prefixes); + } - this.kind = checkNotNull(kind, "kind"); + @SerializedNames({ "items", "nextPageToken", "prefixes" }) + protected ListPage(Iterable<T> items, String nextPageToken, List<String> prefixes) { + this.items = items != null ? ImmutableList.copyOf(items) : ImmutableList.<T>of(); this.nextPageToken = nextPageToken; - this.items = items != null ? ImmutableList.copyOf(items) : ImmutableList.<T> of(); - this.prefixes = prefixes != null ? prefixes : ImmutableSet.<String> of(); - } - - public Kind getKind() { - return kind; + this.prefixes = prefixes != null ? prefixes : ImmutableList.<String>of(); } - public String getNextPageToken() { + @Nullable public String nextPageToken() { return nextPageToken; } - public Set<String> getPrefixes() { + public List<String> prefixes() { return prefixes; } - @Override - public Optional<Object> nextMarker() { - return Optional.<Object> fromNullable(nextPageToken); - } - - @Override - public Iterator<T> iterator() { - return checkNotNull(items, "items").iterator(); - } - - @Override - public int hashCode() { - return Objects.hashCode(kind, items); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - ListPage<?> that = ListPage.class.cast(obj); - return equal(this.kind, that.kind) && equal(this.items, that.items); - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).omitNullValues().add("kind", kind).add("nextPageToken", nextPageToken) - .add("items", items); - } - - @Override - public String toString() { - return string().toString(); - } - - public static <T> Builder<T> builder() { - return new Builder<T>(); - } - - public Builder<T> toBuilder() { - return new Builder<T>().fromPagedList(this); - } - - public static final class Builder<T> { - - private Kind kind; - private String nextPageToken; - private ImmutableList.Builder<T> items = ImmutableList.builder(); - private ImmutableSet.Builder<String> prefixes = ImmutableSet.builder(); - - public Builder<T> kind(Kind kind) { - this.kind = kind; - return this; - } - - public Builder<T> addItem(T item) { - this.items.add(item); - return this; - } - - public Builder<T> items(Iterable<T> items) { - this.items.addAll(items); - return this; - } - - public Builder<T> prefixes(Set<String> prefixes) { - this.prefixes.addAll(prefixes); - return this; - } - - public Builder<T> nextPageToken(String nextPageToken) { - this.nextPageToken = nextPageToken; - return this; - } - - public ListPage<T> build() { - return new ListPage<T>(kind, nextPageToken, items.build(), prefixes.build()); - } - - public Builder<T> fromPagedList(ListPage<T> in) { - return this.kind(in.getKind()).nextPageToken((String) in.nextMarker().orNull()).items(in) - .prefixes(in.getPrefixes()); - - } + @Override protected List<T> delegate() { + return items; } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ObjectAccessControls.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ObjectAccessControls.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ObjectAccessControls.java index 3cf559f..6d34f4c 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ObjectAccessControls.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ObjectAccessControls.java @@ -16,132 +16,69 @@ */ package org.jclouds.googlecloudstorage.domain; -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.net.URI; - import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; -import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam; import org.jclouds.javax.annotation.Nullable; +import org.jclouds.json.SerializedNames; -import com.google.common.base.Objects; +import com.google.auto.value.AutoValue; /** * Represents a Object Access Control Resource. * * @see <a href= "https://developers.google.com/storage/docs/json_api/v1/objectAccessControls"/> */ -public class ObjectAccessControls extends Resource { - - protected final String bucket; - protected final String entity; - protected final String object; - protected final Long generation; - protected final ObjectRole role; - protected final String email; - protected final String entityId; - protected final String domain; - protected final ProjectTeam projectTeam; - - protected ObjectAccessControls(@Nullable String id, @Nullable URI selfLink, @Nullable String etag, String bucket, - @Nullable String object, @Nullable Long generation, String entity, @Nullable String entityId, - ObjectRole role, @Nullable String email, @Nullable String domain, @Nullable ProjectTeam projectTeam) { - super(Kind.OBJECT_ACCESS_CONTROL, id, selfLink, etag); - - this.bucket = bucket; - this.entity = checkNotNull(entity, "entity"); - this.object = object; - this.generation = generation; - this.entityId = entityId; - this.role = checkNotNull(role, "role"); - this.email = email; - this.domain = domain; - this.projectTeam = projectTeam; - } +@AutoValue +public abstract class ObjectAccessControls { + private final String kind = "storage#objectAccessControl"; - public String getBucket() { - return bucket; - } + @Nullable public abstract String id(); - public String getEntity() { - return entity; - } + @Nullable public abstract String bucket(); - public ObjectRole getRole() { - return role; - } + @Nullable public abstract String object(); - public String getEmail() { - return email; - } + @Nullable public abstract Long generation(); - public String getObject() { - return object; - } + public abstract String entity(); - public Long getGeneration() { - return generation; - } + @Nullable public abstract String entityId(); - public String getDomain() { - return domain; - } + public abstract ObjectRole role(); - public String getEntityId() { - return entityId; - } + @Nullable public abstract String email(); - public ProjectTeam getProjectTeam() { - return projectTeam; - } + @Nullable public abstract String domain(); - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - ObjectAccessControls that = ObjectAccessControls.class.cast(obj); - return equal(this.kind, that.kind) && equal(this.bucket, that.bucket) && equal(this.object, that.object) - && equal(this.entity, that.entity) && equal(this.id , that.id); - } + @Nullable public abstract ProjectTeam projectTeam(); - protected Objects.ToStringHelper string() { - return super.string().omitNullValues().add("bucket", bucket).add("entity", entity).add("entityId", entityId) - .add("object", object).add("generation", generation).add("role", role).add("email", email) - .add("domain", domain).add("projectTeam", projectTeam); - } - - @Override - public int hashCode() { - return Objects.hashCode(kind, bucket, object, entity); - } - - @Override - public String toString() { - return string().toString(); + @SerializedNames( + { "id", "bucket", "object", "generation", "entity", "entityId", "role", "email", "domain", "projectTeam" }) + public static ObjectAccessControls create(String id, String bucket, String object, Long generation, String entity, + String entityId, ObjectRole role, String email, String domain, ProjectTeam projectTeam) { + return new AutoValue_ObjectAccessControls(id, bucket, object, generation, entity, entityId, role, email, domain, + projectTeam); } public static Builder builder() { return new Builder(); } - public Builder toBuilder() { - return new Builder().fromObjectAccessControls(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - protected String object; - protected Long generation; - protected String bucket; - protected String entity; - protected String entityId; - protected ObjectRole role; - protected String email; - protected String domain; - protected ProjectTeam projectTeam; + public static final class Builder { + private String id; + private String object; + private Long generation; + private String bucket; + private String entity; + private String entityId; + private ObjectRole role; + private String email; + private String domain; + private ProjectTeam projectTeam; + + public Builder id(String id) { + this.id = id; + return this; + } public Builder bucket(String bucket) { this.bucket = bucket; @@ -189,19 +126,8 @@ public class ObjectAccessControls extends Resource { } public ObjectAccessControls build() { - return new ObjectAccessControls(super.id, super.selfLink, super.etag, bucket, object, generation, entity, - entityId, role, email, domain, projectTeam); - } - - public Builder fromObjectAccessControls(ObjectAccessControls in) { - return super.fromResource(in).bucket(in.getBucket()).entity(in.getEntity()).entityId(in.getEntityId()) - .role(in.getRole()).email(in.getEmail()).domain(in.getDomain()).object(in.getObject()) - .generation(in.getGeneration()).projectTeam(in.getProjectTeam()); - } - - @Override - protected Builder self() { - return this; + return ObjectAccessControls + .create(id, bucket, object, generation, entity, entityId, role, email, domain, projectTeam); } } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Owner.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Owner.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Owner.java new file mode 100644 index 0000000..57137e6 --- /dev/null +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Owner.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jclouds.googlecloudstorage.domain; + +import org.jclouds.javax.annotation.Nullable; +import org.jclouds.json.SerializedNames; + +import com.google.auto.value.AutoValue; + +@AutoValue +public abstract class Owner { + public abstract String entity(); + + @Nullable public abstract String entityId(); + + @SerializedNames({"entity", "entityId"}) + public static Owner create(String entity, String entityId) { + return new AutoValue_Owner(entity, entityId); + } +} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ProjectTeam.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ProjectTeam.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ProjectTeam.java new file mode 100644 index 0000000..538e4c8 --- /dev/null +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ProjectTeam.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jclouds.googlecloudstorage.domain; + +import org.jclouds.json.SerializedNames; + +import com.google.auto.value.AutoValue; + +/** + * The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current + * bucket's logs. + */ +@AutoValue +public abstract class ProjectTeam { + + public enum Team { + OWNERS, EDITORS, VIEWERS; + + public String value() { + return name().toLowerCase(); + } + + @Override + public String toString() { + return value(); + } + + public static Team fromValue(String team) { + return valueOf(team.toUpperCase()); + } + } + + public abstract String projectNumber(); + + public abstract Team team(); + + @SerializedNames({ "projectNumber", "team" }) + public static ProjectTeam create(String projectNumber, Team team) { + return new AutoValue_ProjectTeam(projectNumber, team); + } +} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Resource.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Resource.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Resource.java deleted file mode 100644 index 89ef315..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/Resource.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain; - -import static com.google.common.base.Objects.ToStringHelper; -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.CaseFormat; -import com.google.common.base.Joiner; -import com.google.common.base.Objects; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; - -/** - * Base class for Google Cloud Storage resources. - */ - -public class Resource { - - public enum Kind { - BUCKET_ACCESS_CONTROL, BUCKET_ACCESS_CONTROLS, - BUCKET, BUCKETS, - OBJECT_ACCESS_CONTROL, OBJECT_ACCESS_CONTROLS, - OBJECT, OBJECTS, - COMPOSE_REQUEST; - - public String value() { - return Joiner.on("#").join("storage", CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, name())); - } - - @Override - public String toString() { - return value(); - } - - public static Kind fromValue(String kind) { - return valueOf(CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, - Iterables.getLast(Splitter.on("#").split(checkNotNull(kind, "kind"))))); - } - } - - protected final Kind kind; - protected final String id; - protected final URI selfLink; - protected final String etag; - - @ConstructorProperties({ "kind", "id", "selfLink", "etag" }) - protected Resource(Kind kind, @Nullable String id, @Nullable URI selfLink, @Nullable String etag) { - this.kind = checkNotNull(kind, "kind"); - this.id = id; - this.selfLink = selfLink; - this.etag = etag; - } - - public Kind getKind() { - return kind; - } - - public String getId() { - return id; - } - - public URI getSelfLink() { - return selfLink; - } - - public String getEtag() { - return etag; - } - - @Override - public int hashCode() { - return Objects.hashCode(kind, id, selfLink, etag); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - Resource that = Resource.class.cast(obj); - return equal(this.kind, that.kind) && equal(this.id, that.id); - } - - protected ToStringHelper string() { - return toStringHelper(this).omitNullValues().add("kind", kind).add("id", id).add("selfLink", selfLink) - .add("etag", etag); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromResource(this); - } - - public abstract static class Builder<T extends Builder<T>> { - - protected abstract T self(); - - protected Kind kind; - protected String id; - protected URI selfLink; - protected String etag; - - protected T kind(Kind kind) { - this.kind = kind; - return self(); - } - - public T id(String id) { - this.id = id; - return self(); - } - - public T selfLink(URI selfLink) { - this.selfLink = selfLink; - return self(); - } - - public T etag(String etag) { - this.etag = etag; - return self(); - } - - public Resource build() { - return new Resource(kind, id, selfLink, etag); - } - - public T fromResource(Resource in) { - return this.kind(in.getKind()).id(in.getId()).selfLink(in.getSelfLink()).etag(in.getEtag()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ResumableUpload.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ResumableUpload.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ResumableUpload.java index ebb80a1..556347a 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ResumableUpload.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/ResumableUpload.java @@ -16,118 +16,28 @@ */ package org.jclouds.googlecloudstorage.domain; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - import org.jclouds.javax.annotation.Nullable; -import com.google.common.base.Objects.ToStringHelper; +import com.google.auto.value.AutoValue; /** * Represents results of resumable upload response. */ -public class ResumableUpload { - - protected final Integer statusCode; - protected final String uploadId; - protected final String contentLength; - protected final Long rangeUpperValue; - protected final Long rangeLowerValue; - - private ResumableUpload(Integer statusCode, @Nullable String uploadId, @Nullable String contentLength, - @Nullable Long rangeLowerValue, @Nullable Long rangeUpperValue) { - if (rangeLowerValue != null && rangeUpperValue != null) { - checkArgument(rangeLowerValue < rangeUpperValue, "lower range must less than upper range, was: %s - %s", - rangeLowerValue, rangeUpperValue); - } - this.statusCode = checkNotNull(statusCode, "statusCode"); - this.uploadId = uploadId; - this.contentLength = contentLength; - this.rangeUpperValue = rangeUpperValue; - this.rangeLowerValue = rangeLowerValue; - } - - public String getUploadId() { - return uploadId; - } - - public Integer getStatusCode() { - return statusCode; - } - - public String getContentLength() { - return contentLength; - } - - public Long getRangeUpperValue() { - return rangeUpperValue; - } - - public Long getRangeLowerValue() { - return rangeLowerValue; - } - - protected ToStringHelper string() { - return toStringHelper(this).add("statusCode", statusCode).add("uploadId", uploadId) - .add("contentLength", contentLength).add("rangeUpperValue", rangeUpperValue) - .add("rangeLowerValue", rangeLowerValue); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromResumableUpload(this); - } - - public static final class Builder { - - protected String uploadId; - protected Integer statusCode; - protected String contentLength; - protected Long rangeUpperValue; - protected Long rangeLowerValue; - - public Builder uploadId(String uploadId) { - this.uploadId = uploadId; - return this; - } - - public Builder statusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } +@AutoValue +public abstract class ResumableUpload { - public Builder contentLength(String contentLength) { - this.contentLength = contentLength; - return this; - } + public abstract int statusCode(); - public Builder rangeUpperValue(Long rangeUpperValue) { - this.rangeUpperValue = rangeUpperValue; - return this; - } + @Nullable public abstract String uploadId(); - public Builder rangeLowerValue(Long rangeLowerValue) { - this.rangeLowerValue = rangeLowerValue; - return this; - } + @Nullable public abstract String contentLength(); - public ResumableUpload build() { - return new ResumableUpload(statusCode, uploadId, contentLength, rangeLowerValue, rangeUpperValue); - } + @Nullable public abstract Long rangeUpperValue(); - public Builder fromResumableUpload(ResumableUpload in) { - return this.statusCode(in.getStatusCode()).uploadId(in.getUploadId()).contentLength(in.getContentLength()) - .rangeUpperValue(in.getRangeUpperValue()).rangeLowerValue(in.getRangeLowerValue()); - } + @Nullable public abstract Long rangeLowerValue(); + public static ResumableUpload create(int statusCode, String uploadId, String contentLength, Long rangeLowerValue, + Long rangeUpperValue) { + return new AutoValue_ResumableUpload(statusCode, uploadId, contentLength, rangeLowerValue, rangeUpperValue); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Action.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Action.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Action.java deleted file mode 100644 index 67431a3..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Action.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.toStringHelper; - -import com.google.common.base.Objects; - -/** - * This is an Internal Object used in BucketLifeCycles/Rules. - */ - -public class Action { - private final String type; - - private Action(String type) { - this.type = type; - } - - public String getType() { - return type; - } - - @Override - public int hashCode() { - return Objects.hashCode(type); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Action other = (Action) obj; - if (type == null) { - if (other.type != null) - return false; - } else if (!type.equals(other.type)) - return false; - return true; - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("type", type); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String type; - - public Builder type(String type) { - this.type = type; - return this; - } - - public Action build() { - return new Action(this.type); - } - - public Builder fromAction(Action in) { - return this.type(in.getType()); - } - - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketCors.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketCors.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketCors.java deleted file mode 100644 index 0be95c6..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketCors.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; - -import java.util.Set; - -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableSet; - -/** - * The bucket's Cross-Origin Resource Sharing (CORS) configuration. - * - * @see <a href= "https://developers.google.com/storage/docs/cross-origin" /> - */ - -public class BucketCors { - private final Set<String> origin; - private final Set<String> method; - private final Set<String> responseHeader; - private final Integer maxAgeSeconds; - - private BucketCors(Set<String> origin, Set<String> method, Set<String> responseHeader, - Integer maxAgeSeconds) { - this.origin = origin.isEmpty() ? null : origin; - this.method = method.isEmpty() ? null : method; - this.responseHeader = responseHeader.isEmpty() ? null : responseHeader; - this.maxAgeSeconds = maxAgeSeconds; - } - - public Set<String> getOrigin() { - return origin; - } - - public Set<String> getMethod() { - return method; - } - - public Set<String> getResponseHeader() { - return responseHeader; - } - - public Integer getMaxAgeSeconds() { - return maxAgeSeconds; - } - - @Override - public int hashCode() { - return Objects.hashCode(origin, method, responseHeader, maxAgeSeconds); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - BucketCors that = BucketCors.class.cast(obj); - return equal(this.origin, that.origin) && equal(this.method, that.method) - && equal(this.responseHeader, that.responseHeader) && equal(this.maxAgeSeconds, that.maxAgeSeconds); - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).omitNullValues().add("origin", origin).add("method", method).add("responseHeader", responseHeader) - .add("maxAgeSeconds", maxAgeSeconds); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - - private ImmutableSet.Builder<String> origin = ImmutableSet.builder(); - private ImmutableSet.Builder<String> method = ImmutableSet.builder(); - private ImmutableSet.Builder<String> reponseHeader = ImmutableSet.builder(); - private Integer maxAgeSeconds; - - public Builder addOrigin(String origin) { - this.origin.add(origin); - return this; - } - - public Builder origin(Set<String> origin) { - this.origin.addAll(origin); - return this; - } - - public Builder addMethod(String method) { - this.method.add(method); - return this; - } - - public Builder method(Set<String> method) { - this.method.addAll(method); - return this; - } - - public Builder addResponseHeader(String responseHeader) { - this.reponseHeader.add(responseHeader); - return this; - } - - public Builder responseHeaders(Set<String> responseHeaders) { - this.reponseHeader.addAll(responseHeaders); - return this; - } - - public Builder maxAgeSeconds(Integer maxAgeSeconds) { - this.maxAgeSeconds = maxAgeSeconds; - return this; - } - - public BucketCors build() { - return new BucketCors(this.origin.build(), this.method.build(), this.reponseHeader.build(), - this.maxAgeSeconds); - } - - public Builder fromCors(BucketCors in) { - return this.maxAgeSeconds(in.getMaxAgeSeconds()).origin(in.getOrigin()).method(in.getMethod()) - .responseHeaders(in.getResponseHeader()); - } - - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketLifeCycle.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketLifeCycle.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketLifeCycle.java deleted file mode 100644 index 07a7461..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/BucketLifeCycle.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.toStringHelper; - -import java.util.Set; - -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableSet; - -/** - * The bucket's lifecycle configuration. - * - * @see <a href= "https://developers.google.com/storage/docs/lifecycle" /> - */ - -public class BucketLifeCycle { - - private final Set<Rule> rules; - - private BucketLifeCycle(Set<Rule> rules) { - this.rules = rules.isEmpty() ? null : rules; - } - - public Set<Rule> getRules() { - return rules; - } - - @Override - public int hashCode() { - return Objects.hashCode(rules); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - BucketLifeCycle other = (BucketLifeCycle) obj; - if (rules == null) { - if (other.rules != null) - return false; - } else if (!rules.equals(other.rules)) - return false; - return true; - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("rule", rules); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - - ImmutableSet.Builder<Rule> rules = ImmutableSet.builder(); - - public Builder addRule(Rule rule) { - this.rules.add(rule); - return this; - } - - public Builder rule(Set<Rule> rules) { - this.rules.addAll(rules); - return this; - } - - public BucketLifeCycle build() { - return new BucketLifeCycle(this.rules.build()); - } - - public Builder fromLifeCycle(BucketLifeCycle in) { - return this.rule(in.getRules()); - } - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Condition.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Condition.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Condition.java deleted file mode 100644 index d298fe7..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Condition.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.toStringHelper; - -import java.util.Date; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.Objects; - -/** - * This is an Internal Object used in BucketLifeCycles/Rules. - */ - -public class Condition { - private final Integer age; - private final Date createdBefore; - private final Boolean isLive; - private final Integer numNewerVersions; - - private Condition(@Nullable Integer age, @Nullable Date createdBefore, @Nullable Boolean isLive, - @Nullable Integer numNewerVersions) { - this.age = age; - this.createdBefore = createdBefore; - this.isLive = isLive; - this.numNewerVersions = numNewerVersions; - } - - public Integer getAge() { - return age; - } - - public Date getCreatedBefore() { - return createdBefore; - } - - public Boolean getIsLive() { - return isLive; - } - - public Integer getNumNewerVersions() { - return numNewerVersions; - } - - @Override - public int hashCode() { - return Objects.hashCode(age, createdBefore, isLive, numNewerVersions); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Condition other = (Condition) obj; - if (age == null) { - if (other.age != null) - return false; - } else if (!age.equals(other.age)) - return false; - if (createdBefore == null) { - if (other.createdBefore != null) - return false; - } else if (!createdBefore.equals(other.createdBefore)) - return false; - if (isLive == null) { - if (other.isLive != null) - return false; - } else if (!isLive.equals(other.isLive)) - return false; - if (numNewerVersions == null) { - if (other.numNewerVersions != null) - return false; - } else if (!numNewerVersions.equals(other.numNewerVersions)) - return false; - return true; - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("age", age).add("createdBefore", createdBefore).add("isLive", isLive) - .add("numNewerVersions", numNewerVersions); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static final class Builder { - - private Integer age; - private Date createdBefore; - private Boolean isLive; - private Integer numNewerVersions; - - public Builder age(Integer age) { - this.age = age; - return this; - } - - public Builder createdBefore(Date createdBefore) { - this.createdBefore = createdBefore; - return this; - } - - public Builder isLive(Boolean isLive) { - this.isLive = isLive; - return this; - } - - public Builder numNewerVersions(Integer numNewerVersions) { - this.numNewerVersions = numNewerVersions; - return this; - } - - public Condition build() { - return new Condition(this.age, this.createdBefore, this.isLive, this.numNewerVersions); - } - - public Builder fromCondition(Condition in) { - return this.age(in.getAge()).createdBefore(in.getCreatedBefore()).isLive(in.getIsLive()) - .numNewerVersions(in.getNumNewerVersions()); - } - - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Logging.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Logging.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Logging.java deleted file mode 100644 index 1bda912..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Logging.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.base.Objects; - -/** - * The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current - * bucket's logs. - * - * @see <a href= "https://developers.google.com/storage/docs/accesslogs" /> - */ - -public class Logging { - private final String logBucket; - private final String logObjectPrefix; - - private Logging(String logBucket, String logObjectPrefix) { - - this.logBucket = checkNotNull(logBucket, "logBucket"); - this.logObjectPrefix = checkNotNull(logObjectPrefix , "logObjectPrefix"); - } - - public String getLogBucket() { - return logBucket; - } - - public String getLogObjectPrefix() { - return logObjectPrefix; - } - - @Override - public int hashCode() { - return Objects.hashCode(logBucket, logObjectPrefix); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - Logging that = Logging.class.cast(obj); - return equal(this.logBucket, that.logBucket) && equal(this.logObjectPrefix, that.logObjectPrefix); - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("logBucket", logBucket).add("logObjectPrefix", logObjectPrefix); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String logBucket; - private String logObjectPrefix; - - public Builder logBucket(String logBucket) { - this.logBucket = logBucket; - return this; - } - - public Builder logObjectPrefix(String logObjectPrefix) { - this.logObjectPrefix = logObjectPrefix; - return this; - } - - public Logging build() { - return new Logging(this.logBucket, this.logObjectPrefix); - } - - public Builder fromLogging(Logging in) { - return this.logBucket(in.getLogBucket()).logObjectPrefix(in.getLogObjectPrefix()); - } - - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Owner.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Owner.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Owner.java deleted file mode 100644 index 6f9cbdf..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Owner.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.Objects; - -/** - * This is an internal object used in both Bucket and Object representation - */ - -public class Owner { - private final String entity; - private final String entityId; - - private Owner(String entity, @Nullable String entityId) { - this.entity = checkNotNull(entity, "entity"); - this.entityId = entityId; - } - - public String getEntity() { - return entity; - } - - public String getEntityId() { - return entityId; - } - - @Override - public int hashCode() { - return Objects.hashCode(entity, entityId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - Owner that = Owner.class.cast(obj); - return equal(this.entity, that.entity); - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).omitNullValues().add("entity", entity).add("entityId", entityId); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String entity; - private String entityId; - - public Builder entity(String entity) { - this.entity = entity; - return this; - } - - public Builder entityId(String entityId) { - this.entityId = entityId; - return this; - } - - public Owner build() { - return new Owner(this.entity, this.entityId); - } - - public Builder fromOwner(Owner in) { - return this.entity(in.getEntity()).entityId(in.getEntityId()); - } - - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/ProjectTeam.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/ProjectTeam.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/ProjectTeam.java deleted file mode 100644 index f4bda2c..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/ProjectTeam.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; - -import com.google.common.base.Objects; - -/** - * The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current - * bucket's logs. - */ - -public final class ProjectTeam { - - public enum Team { - OWNERS, EDITORS, VIEWERS; - - public String value() { - return name().toLowerCase(); - } - - @Override - public String toString() { - return value(); - } - - public static Team fromValue(String team) { - return valueOf(team.toUpperCase()); - } - } - - private final String projectNumber; - private final Team team; - - - private ProjectTeam(String projectNumber, Team team) { - this.projectNumber = projectNumber; - this.team = team; - } - - public String getProjectNumber() { - return projectNumber; - } - - public Team getTeam() { - return team; - } - - @Override - public int hashCode() { - return Objects.hashCode(projectNumber, team); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - ProjectTeam that = ProjectTeam.class.cast(obj); - return equal(this.projectNumber, that.projectNumber) && equal(this.team, that.team); - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("projectNumber", projectNumber).add("team", team); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - - private String projectNumber; - private Team team; - - public Builder projectNumber(String projectNumber) { - this.projectNumber = projectNumber; - return this; - } - - public Builder team(Team team) { - this.team = team; - return this; - } - - public ProjectTeam build() { - return new ProjectTeam(this.projectNumber, this.team); - } - - public Builder fromProjectTeam(ProjectTeam in) { - return this.projectNumber(in.getProjectNumber()).team(in.getTeam()); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Rule.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Rule.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Rule.java deleted file mode 100644 index 45d298e..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Rule.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.base.Objects; - -/** - * The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current - * bucket's logs. - */ - -public class Rule { - private final Action action; - private final Condition condition; - - private Rule(Action action, Condition condition) { - this.action = checkNotNull(action, "action"); - this.condition = checkNotNull(condition, "condition"); - } - - public Action getAction() { - return action; - } - - public Condition getCondition() { - return condition; - } - - @Override - public int hashCode() { - return Objects.hashCode(action, condition); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Rule other = (Rule) obj; - if (action == null) { - if (other.action != null) - return false; - } else if (!action.equals(other.action)) - return false; - if (condition == null) { - if (other.condition != null) - return false; - } else if (!condition.equals(other.condition)) - return false; - return true; - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("condition", condition).add("action", action); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Action action; - private Condition condition; - - public Builder action(Action action) { - this.action = action; - return this; - } - - public Builder condtion(Condition condition) { - this.condition = condition; - return this; - } - - public Rule build() { - return new Rule(this.action, this.condition); - } - - public Builder fromRule(Rule in) { - return this.action(in.getAction()).condtion(in.getCondition()); - - } - - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Versioning.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Versioning.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Versioning.java deleted file mode 100644 index dd42113..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Versioning.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.toStringHelper; - -import com.google.common.base.Objects; - -/** - * The bucket's versioning configuration. - * - * @see <a href= "https://developers.google.com/storage/docs/object-versioning" /> - */ - -public final class Versioning { - private final Boolean enabled; - - private Versioning(Boolean enabled) { - this.enabled = enabled; - } - - public Boolean isEnabled() { - return enabled; - } - - @Override - public int hashCode() { - return Objects.hashCode(enabled); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Versioning other = (Versioning) obj; - if (enabled == null) { - if (other.enabled != null) - return false; - } else if (!enabled.equals(other.enabled)) - return false; - return true; - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("enabled", enabled); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - - private Boolean enabled; - - public Builder enalbled(Boolean enabled) { - this.enabled = enabled; - return this; - } - - public Versioning build() { - return new Versioning(this.enabled); - } - - public Builder fromVersioning(Versioning in) { - return this.enalbled(in.isEnabled()); - } - - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Website.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Website.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Website.java deleted file mode 100644 index 7218c85..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/internal/Website.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.internal; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.Objects; - -/** - * This is a internal object in bucket resource - * - * @see <a href= "https://developers.google.com/storage/docs/website-configuration" /> - */ - -public class Website { - private final String mainPageSuffix; - private final String notFoundPage; - - private Website(@Nullable String mainPageSuffix, @Nullable String notFoundPage) { - - this.mainPageSuffix = mainPageSuffix; - this.notFoundPage = notFoundPage; - } - - public String getMainPageSuffix() { - return mainPageSuffix; - } - - public String getNotFoundPage() { - return notFoundPage; - } - - @Override - public int hashCode() { - return Objects.hashCode(mainPageSuffix, notFoundPage); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null || getClass() != obj.getClass()) - return false; - Website that = Website.class.cast(obj); - return equal(this.mainPageSuffix, that.mainPageSuffix); - } - - protected Objects.ToStringHelper string() { - return toStringHelper(this).add("mainPageSuffix", mainPageSuffix).add("notFoundPage", notFoundPage); - } - - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String mainPageSuffix; - private String notFoundPage; - - public Builder mainPageSuffix(String mainPageSuffix) { - this.mainPageSuffix = mainPageSuffix; - return this; - } - - public Builder notFoundPage(String notFoundPage) { - this.notFoundPage = notFoundPage; - return this; - } - - public Website build() { - return new Website(this.mainPageSuffix, this.notFoundPage); - } - - public Builder fromWebsite(Website in) { - return this.mainPageSuffix(in.getMainPageSuffix()).notFoundPage(in.getNotFoundPage()); - } - - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketAccessControlsTemplate.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketAccessControlsTemplate.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketAccessControlsTemplate.java index 3d62b76..04221aa 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketAccessControlsTemplate.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketAccessControlsTemplate.java @@ -16,50 +16,18 @@ */ package org.jclouds.googlecloudstorage.domain.templates; -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role; +import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role; -/** - * Represents a Object Access Control Resource. - * - * @see <a href= "https://developers.google.com/storage/docs/json_api/v1/objectAccessControls"/> - */ -public class BucketAccessControlsTemplate { - - protected String entity; - protected Role role; - - public BucketAccessControlsTemplate role(Role role) { - this.role = role; - return this; - } - - public BucketAccessControlsTemplate entity(String entity) { - this.entity = entity; - return this; - } +import com.google.auto.value.AutoValue; - public String getEntity() { - return entity; - } - - public Role getRole() { - return role; - } - - public static Builder builder() { - return new Builder(); - } - - public static BucketAccessControlsTemplate fromObjectAccessControlsTemplate( - BucketAccessControlsTemplate objectAccessControlsTemplate) { - return Builder.fromObjectAccessControlsTemplate(objectAccessControlsTemplate); - } +@AutoValue +public abstract class BucketAccessControlsTemplate { - public static class Builder { + public abstract String entity(); - public static BucketAccessControlsTemplate fromObjectAccessControlsTemplate(BucketAccessControlsTemplate in) { - return new BucketAccessControlsTemplate().role(in.getRole()).entity(in.getEntity()); - } + public abstract Role role(); + public static BucketAccessControlsTemplate create(String entity, Role role) { + return new AutoValue_BucketAccessControlsTemplate(entity, role); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketTemplate.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketTemplate.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketTemplate.java index 5e85bd0..7434757 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketTemplate.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/BucketTemplate.java @@ -17,35 +17,35 @@ package org.jclouds.googlecloudstorage.domain.templates; -import java.util.Set; +import java.util.List; +import org.jclouds.googlecloudstorage.domain.Bucket.Cors; +import org.jclouds.googlecloudstorage.domain.Bucket.LifeCycle; +import org.jclouds.googlecloudstorage.domain.Bucket.Logging; +import org.jclouds.googlecloudstorage.domain.Bucket.Versioning; +import org.jclouds.googlecloudstorage.domain.Bucket.Website; import org.jclouds.googlecloudstorage.domain.BucketAccessControls; -import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass; -import org.jclouds.googlecloudstorage.domain.internal.BucketCors; -import org.jclouds.googlecloudstorage.domain.internal.BucketLifeCycle; -import org.jclouds.googlecloudstorage.domain.internal.Logging; -import org.jclouds.googlecloudstorage.domain.internal.Owner; -import org.jclouds.googlecloudstorage.domain.internal.Versioning; -import org.jclouds.googlecloudstorage.domain.internal.Website; +import org.jclouds.googlecloudstorage.domain.ObjectAccessControls; +import org.jclouds.googlecloudstorage.domain.Owner; -import com.google.common.collect.Sets; +import com.google.common.collect.Lists; public class BucketTemplate { - protected String name; - protected Long projectNumber; - protected Set<BucketAccessControls> acl = Sets.newLinkedHashSet(); - protected Set<DefaultObjectAccessControls> defaultObjectAccessControls = Sets.newLinkedHashSet(); - protected Owner owner; - protected Location location; - protected Website website; - protected Logging logging; - protected Versioning versioning; - protected Set<BucketCors> cors = Sets.newLinkedHashSet(); - protected BucketLifeCycle lifeCycle; - protected StorageClass storageClass; + private String name; + private Long projectNumber; + private List<BucketAccessControls> acl = Lists.newArrayList(); + private List<ObjectAccessControls> defaultObjectAccessControls = Lists.newArrayList(); + private Owner owner; + private Location location; + private Website website; + private Logging logging; + private Versioning versioning; + private List<Cors> cors = Lists.newArrayList(); + private LifeCycle lifeCycle; + private StorageClass storageClass; public BucketTemplate name(String name) { this.name = name; @@ -82,7 +82,7 @@ public class BucketTemplate { return this; } - public BucketTemplate lifeCycle(BucketLifeCycle lifeCycle) { + public BucketTemplate lifeCycle(LifeCycle lifeCycle) { this.lifeCycle = lifeCycle; return this; } @@ -97,97 +97,76 @@ public class BucketTemplate { return this; } - public BucketTemplate acl(Set<BucketAccessControls> acl) { - + public BucketTemplate acl(List<BucketAccessControls> acl) { this.acl.addAll(acl); return this; } - public BucketTemplate addDefaultObjectAccessControls(DefaultObjectAccessControls oac) { + public BucketTemplate addDefaultObjectAccessControls(ObjectAccessControls oac) { this.defaultObjectAccessControls.add(oac); return this; } - public BucketTemplate defaultObjectAccessControls(Set<DefaultObjectAccessControls> defaultObjectAcl) { + public BucketTemplate defaultObjectAccessControls(List<ObjectAccessControls> defaultObjectAcl) { this.defaultObjectAccessControls.addAll(defaultObjectAcl); return this; } - public BucketTemplate addCORS(BucketCors cors) { + public BucketTemplate addCORS(Cors cors) { this.cors.add(cors); return this; } - public BucketTemplate cors(Set<BucketCors> cors) { + public BucketTemplate cors(List<Cors> cors) { this.cors.addAll(cors); return this; } - public Long getProjectNumber() { + public Long projectNumber() { return projectNumber; } - public String getName() { + public String name() { return name; } - public Set<BucketAccessControls> getAcl() { + public List<BucketAccessControls> acl() { return acl; } - public Set<DefaultObjectAccessControls> getDefaultObjectAccessControls() { + public List<ObjectAccessControls> defaultObjectAccessControls() { return defaultObjectAccessControls; } - public Owner getOwner() { + public Owner owner() { return owner; } - public Location getLocation() { + public Location location() { return location; } - public Website getWebsite() { + public Website website() { return website; } - public Logging getLogging() { + public Logging logging() { return logging; } - public Versioning getVersioning() { + public Versioning versioning() { return versioning; } - public Set<BucketCors> getCors() { + public List<Cors> cors() { return cors; } - public BucketLifeCycle getLifeCycle() { + public LifeCycle lifeCycle() { return lifeCycle; } - public StorageClass getStorageClass() { + public StorageClass storageClass() { return storageClass; } - - public static Builder builder() { - return new Builder(); - } - - public static BucketTemplate fromBucketsTemplate(BucketTemplate bucketTemplate) { - return Builder.fromBucketsTemplate(bucketTemplate); - } - - public static class Builder { - - public static BucketTemplate fromBucketsTemplate(BucketTemplate in) { - return new BucketTemplate().name(in.getName()).projectNumber(in.getProjectNumber()).acl(in.getAcl()) - .defaultObjectAccessControls(in.getDefaultObjectAccessControls()).owner(in.getOwner()) - .location(in.getLocation()).website(in.getWebsite()).logging(in.getLogging()) - .versioning(in.getVersioning()).cors(in.getCors()).lifeCycle(in.getLifeCycle()) - .storageClass(in.getStorageClass()); - } - - } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ComposeObjectTemplate.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ComposeObjectTemplate.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ComposeObjectTemplate.java index 48372cc..0af32ea 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ComposeObjectTemplate.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ComposeObjectTemplate.java @@ -17,63 +17,22 @@ package org.jclouds.googlecloudstorage.domain.templates; -import java.util.Set; +import java.util.List; import org.jclouds.googlecloudstorage.domain.GCSObject; -import org.jclouds.googlecloudstorage.domain.Resource.Kind; -import com.google.common.collect.Sets; +import com.google.auto.value.AutoValue; -public class ComposeObjectTemplate { +@AutoValue +public abstract class ComposeObjectTemplate { - protected Kind kind; - protected ObjectTemplate destination; - protected Set<GCSObject> sourceObjects = Sets.newLinkedHashSet(); + private final String kind = "storage/composeRequest"; - public ComposeObjectTemplate() { - this.kind = Kind.COMPOSE_REQUEST; - } - - public ComposeObjectTemplate destination(ObjectTemplate destination) { - this.destination = destination; - return this; - } - - public ComposeObjectTemplate addsourceObject(GCSObject sourceObject) { - this.sourceObjects.add(sourceObject); - return this; - } - - public ComposeObjectTemplate sourceObjects(Set<GCSObject> sourceObjects) { - this.sourceObjects.addAll(sourceObjects); - return this; - } - - public Kind getKind() { - return kind; - } - - public ObjectTemplate getDestination() { - return destination; - } - - public Set<GCSObject> getSourceObjects() { - return sourceObjects; - } - - public static Builder builder() { - return new Builder(); - } - - public static ComposeObjectTemplate fromComposeObjectTemplate(ComposeObjectTemplate composeTemplate) { - return Builder.fromComposeObjectTemplate(composeTemplate); - } - - public static class Builder { + public abstract List<GCSObject> sourceObjects(); - public static ComposeObjectTemplate fromComposeObjectTemplate(ComposeObjectTemplate in) { - return new ComposeObjectTemplate().sourceObjects(in.getSourceObjects()).destination(in.getDestination()); + public abstract ObjectTemplate destination(); - } + public static ComposeObjectTemplate create(List<GCSObject> sourceObjects, ObjectTemplate destination) { + return new AutoValue_ComposeObjectTemplate(sourceObjects, destination); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java deleted file mode 100644 index 48648ad..0000000 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.domain.templates; - -import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; - -/** - * Represents a Object Access Control Resource - * - * @see <a href= "https://developers.google.com/storage/docs/json_api/v1/objectAccessControls"/> - */ -public class DefaultObjectAccessControlsTemplate { - - private String entity; - private ObjectRole role; - - public DefaultObjectAccessControlsTemplate role(ObjectRole role) { - this.role = role; - return this; - } - - public DefaultObjectAccessControlsTemplate entity(String entity) { - this.entity = entity; - return this; - } - - public String getEntity() { - return entity; - } - - public ObjectRole getRole() { - return role; - } - - public static Builder builder() { - return new Builder(); - } - - public static DefaultObjectAccessControlsTemplate fromObjectAccessControlsTemplate( - DefaultObjectAccessControlsTemplate objectAccessControlsTemplate) { - return Builder.fromObjectAccessControlsTemplate(objectAccessControlsTemplate); - } - - public static class Builder { - - public static DefaultObjectAccessControlsTemplate fromObjectAccessControlsTemplate( - DefaultObjectAccessControlsTemplate in) { - return new DefaultObjectAccessControlsTemplate().role(in.getRole()).entity(in.getEntity()); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/b8670b16/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java ---------------------------------------------------------------------- diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java index a3f45ed..a8e1afb 100644 --- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java +++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java @@ -18,48 +18,16 @@ package org.jclouds.googlecloudstorage.domain.templates; import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole; -/** - * Represents a Object Access Control Resource. - * - * @see <a href= "https://developers.google.com/storage/docs/json_api/v1/objectAccessControls"/> - */ -public class ObjectAccessControlsTemplate { - - protected String entity; - protected ObjectRole role; - - public ObjectAccessControlsTemplate role(ObjectRole role) { - this.role = role; - return this; - } - - public ObjectAccessControlsTemplate entity(String entity) { - this.entity = entity; - return this; - } +import com.google.auto.value.AutoValue; - public String getEntity() { - return entity; - } - - public ObjectRole getRole() { - return role; - } - - public static Builder builder() { - return new Builder(); - } - - public static ObjectAccessControlsTemplate fromObjectAccessControlsTemplate( - ObjectAccessControlsTemplate objectAccessControlsTemplate) { - return Builder.fromObjectAccessControlsTemplate(objectAccessControlsTemplate); - } +@AutoValue +public abstract class ObjectAccessControlsTemplate { - public static class Builder { + public abstract String entity(); - public static ObjectAccessControlsTemplate fromObjectAccessControlsTemplate(ObjectAccessControlsTemplate in) { - return new ObjectAccessControlsTemplate().role(in.getRole()).entity(in.getEntity()); - } + public abstract ObjectRole role(); + public static ObjectAccessControlsTemplate create(String entity, ObjectRole role) { + return new AutoValue_ObjectAccessControlsTemplate(entity, role); } }
