Revision created by MOE tool push_codebase.
[gae.git] / java / src / main / com / google / appengine / api / images / Rotate.java
blob180c401360387d9cc9570c220b2fd44302b7468a
1 // Copyright 2009 Google Inc. All Rights Reserved.
3 package com.google.appengine.api.images;
5 /**
6 * A transform that will rotate an image by a multiple of 90 degrees.
8 */
9 final class Rotate extends Transform {
11 private static final long serialVersionUID = -8585289244565451429L;
13 private final int degrees;
15 /**
16 * Creates a Rotate transform that rotates an image by {@code degrees} degrees.
17 * @param degrees number of degrees to rotate
18 * @throws IllegalArgumentException If {@code degrees} is not divisible by 90
20 Rotate(int degrees) {
21 if ((degrees % 90) != 0) {
22 throw new IllegalArgumentException("degrees must be a multiple of 90");
24 this.degrees = ((degrees % 360) + 360) % 360;
27 /** {@inheritDoc} */
28 @Override
29 void apply(ImagesServicePb.ImagesTransformRequest.Builder request) {
30 request.addTransform(ImagesServicePb.Transform.newBuilder().setRotate(degrees));