View Javadoc
1   /*
2    * #%L
3    * wcm.io
4    * %%
5    * Copyright (C) 2021 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.handler.mediasource.dam.impl.dynamicmedia;
21  
22  import org.apache.commons.lang3.builder.EqualsBuilder;
23  import org.apache.commons.lang3.builder.HashCodeBuilder;
24  import org.apache.commons.lang3.builder.ToStringBuilder;
25  import org.jetbrains.annotations.NotNull;
26  
27  import io.wcm.handler.media.Dimension;
28  import io.wcm.wcm.commons.util.ToStringStyle;
29  
30  /**
31   * Dimension with a name
32   */
33  public final class NamedDimension extends Dimension {
34  
35    private final String name;
36  
37    NamedDimension(@NotNull String name, long width, long height) {
38      super(width, height);
39      this.name = name;
40    }
41  
42    public @NotNull String getName() {
43      return this.name;
44    }
45  
46    @Override
47    public int hashCode() {
48      return HashCodeBuilder.reflectionHashCode(this);
49    }
50  
51    @Override
52    public boolean equals(Object obj) {
53      return EqualsBuilder.reflectionEquals(this, obj);
54    }
55  
56    @Override
57    public String toString() {
58      return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_OMIT_NULL_STYLE)
59          .append("name", getName())
60          .append("width", getWidth())
61          .append("height", getHeight())
62          .build();
63    }
64  
65  }