123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- /*
- * 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.
- */
-
- /* $Id$ */
-
- package org.apache.fop.afp;
-
- import java.awt.Dimension;
-
- import org.apache.fop.afp.AFPResourceLevel.ResourceType;
-
- /**
- * The level at which a resource is to reside in the AFP output
- */
- public class AFPResourceInfo {
-
- /** the general default resource level */
- public static final AFPResourceLevel DEFAULT_LEVEL
- = new AFPResourceLevel(ResourceType.PRINT_FILE);
-
- /** the URI of this resource */
- private String uri;
-
- /**
- * the image dimension in page coordinates (non-null only when page segments are
- * generated because the cannot be scaled for painting).
- */
- private Dimension imageDimension;
-
- /** the reference name of this resource */
- private String name;
-
- /** the resource level of this resource */
- private AFPResourceLevel level = DEFAULT_LEVEL;
-
- /** true when the resource level was changed */
- private boolean levelChanged;
-
- /**
- * Sets the data object URI.
- *
- * @param uri the data object URI
- */
- public void setUri(String uri) {
- this.uri = uri;
- }
-
- /**
- * Returns the URI of this data object.
- *
- * @return the URI of this data object
- */
- public String getUri() {
- return uri;
- }
-
- /**
- * Sets an optional image dimension (in page coordinates). This is only used if
- * a page segment is created for this resource as page segments cannot be rescaled
- * for painting.
- * @param dim the image dimension (in page coordinates)
- */
- public void setImageDimension(Dimension dim) {
- this.imageDimension = dim;
- }
-
- /**
- * Returns an optional image dimension (in page coordinates). This is only used if
- * a page segment is created for this resource as page segments cannot be rescaled
- * for painting.
- * @return the image dimension (or null if not applicable)
- */
- public Dimension getImageDimension() {
- return this.imageDimension;
- }
-
- /**
- * Sets the resource reference name
- *
- * @param resourceName the resource reference name
- */
- public void setName(String resourceName) {
- this.name = resourceName;
- }
-
- /**
- * Returns the resource reference name
- *
- * @return the resource reference name
- */
- public String getName() {
- return this.name;
- }
-
- /**
- * Returns the resource level
- *
- * @return the resource level
- */
- public AFPResourceLevel getLevel() {
- if (level == null) {
- return DEFAULT_LEVEL;
- }
- return this.level;
- }
-
- /**
- * Sets the resource level
- *
- * @param resourceLevel the resource level
- */
- public void setLevel(AFPResourceLevel resourceLevel) {
- this.level = resourceLevel;
- levelChanged = true;
- }
-
- /**
- * Returns true when the resource level was set
- *
- * @return true when the resource level was set
- */
- public boolean levelChanged() {
- return levelChanged;
- }
-
- /** {@inheritDoc} */
- public String toString() {
- return "AFPResourceInfo{uri=" + uri
- + (imageDimension != null
- ? ", " + imageDimension.width + "x" + imageDimension.height : "")
- + (name != null ? ", name=" + name : "")
- + (level != null ? ", level=" + level : "")
- + "}";
-
- }
-
- /** {@inheritDoc} */
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if ((obj == null) || !(obj instanceof AFPResourceInfo)) {
- return false;
- }
-
- AFPResourceInfo ri = (AFPResourceInfo)obj;
- return (uri == ri.uri || uri != null && uri.equals(ri.uri))
- && (imageDimension == ri.imageDimension
- || imageDimension != null && imageDimension.equals(ri.imageDimension))
- && (name == ri.name || name != null && name.equals(ri.name))
- && (level == ri.level || level != null && level.equals(ri.level));
- }
-
- /** {@inheritDoc} */
- public int hashCode() {
- int hash = 7;
- hash = 31 * hash + (null == uri ? 0 : uri.hashCode());
- hash = 31 * hash + (null == imageDimension ? 0 : imageDimension.hashCode());
- hash = 31 * hash + (null == name ? 0 : name.hashCode());
- hash = 31 * hash + (null == level ? 0 : level.hashCode());
- return hash;
- }
- }
|