View Javadoc
1   /*
2    * #%L
3    * wcm.io
4    * %%
5    * Copyright (C) 2015 wcm.io
6    * %%
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * #L%
19   */
20  package io.wcm.dam.assetservice.impl;
21  
22  import org.apache.commons.lang3.builder.ToStringBuilder;
23  import org.apache.commons.lang3.builder.ToStringStyle;
24  
25  import io.wcm.handler.media.Media;
26  import io.wcm.handler.media.MediaHandler;
27  
28  /**
29   * Holds parameters for an asset service request;
30   */
31  class AssetRequest {
32  
33    private final String assetPath;
34    private final String mediaFormatName;
35    private final long width;
36    private final long height;
37  
38    AssetRequest(String assetPath, String mediaFormatName, long width, long height) {
39      this.assetPath = assetPath;
40      this.mediaFormatName = mediaFormatName;
41      this.width = width;
42      this.height = height;
43    }
44  
45    public Media resolve(MediaHandler mediaHandler) {
46      return mediaHandler.get(assetPath)
47          .mediaFormatName(mediaFormatName)
48          .fixedDimension(width, height)
49          .build();
50    }
51  
52    @Override
53    public String toString() {
54      return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
55    }
56  
57  }