/*
 * 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: AFPDataObjectInfo.java 1356646 2012-07-03 09:46:41Z mehdi $ */

package org.apache.fop.afp;

import org.apache.fop.afp.modca.Registry;
import org.apache.fop.afp.modca.triplets.MappingOptionTriplet;

A list of parameters associated with an AFP data objects
/** * A list of parameters associated with an AFP data objects */
public class AFPDataObjectInfo {
the object area info
/** the object area info */
private AFPObjectAreaInfo objectAreaInfo;
resource info
/** resource info */
private AFPResourceInfo resourceInfo;
the data object width
/** the data object width */
private int dataWidth;
the data object height
/** the data object height */
private int dataHeight;
the object registry mimetype
/** the object registry mimetype */
private String mimeType;
the object data in a byte array
/** the object data in a byte array */
private byte[] data;
the object data height resolution
/** the object data height resolution */
private int dataHeightRes;
the object data width resolution
/** the object data width resolution */
private int dataWidthRes;
controls whether to create a page segment or a simple object
/** controls whether to create a page segment or a simple object */
private boolean createPageSegment;
controls the mapping of the image data into the image area
/** controls the mapping of the image data into the image area */
private byte mappingOption = MappingOptionTriplet.SCALE_TO_FILL; public static final byte DEFAULT_MAPPING_OPTION = 0x00;
Default constructor
/** * Default constructor */
public AFPDataObjectInfo() { }
Sets the image mime type
Params:
  • mimeType – the image mime type
/** * Sets the image mime type * * @param mimeType the image mime type */
public void setMimeType(String mimeType) { this.mimeType = mimeType; }
Returns the mime type of this data object
Returns:the mime type of this data object
/** * Returns the mime type of this data object * * @return the mime type of this data object */
public String getMimeType() { return mimeType; }
Convenience method to return the object type
Returns:the object type
/** * Convenience method to return the object type * * @return the object type */
public Registry.ObjectType getObjectType() { return Registry.getInstance().getObjectType(getMimeType()); }
Returns the resource level at which this data object should reside
Returns:the resource level at which this data object should reside
/** * Returns the resource level at which this data object should reside * * @return the resource level at which this data object should reside */
public AFPResourceInfo getResourceInfo() { if (resourceInfo == null) { this.resourceInfo = new AFPResourceInfo(); } return resourceInfo; }
Sets the resource level at which this object should reside
Params:
  • resourceInfo – the resource level at which this data object should reside
/** * Sets the resource level at which this object should reside * * @param resourceInfo the resource level at which this data object should reside */
public void setResourceInfo(AFPResourceInfo resourceInfo) { this.resourceInfo = resourceInfo; }
Sets the object area info
Params:
  • objectAreaInfo – the object area info
/** * Sets the object area info * * @param objectAreaInfo the object area info */
public void setObjectAreaInfo(AFPObjectAreaInfo objectAreaInfo) { this.objectAreaInfo = objectAreaInfo; }
Returns the object area info
Returns:the object area info
/** * Returns the object area info * * @return the object area info */
public AFPObjectAreaInfo getObjectAreaInfo() { return this.objectAreaInfo; }
Returns the uri of this data object
Returns:the uri of this data object
/** * Returns the uri of this data object * * @return the uri of this data object */
public String getUri() { return getResourceInfo().getUri(); }
Sets the data object uri
Params:
  • uri – the data object uri
/** * Sets the data object uri * * @param uri the data object uri */
public void setUri(String uri) { getResourceInfo().setUri(uri); }
Returns the image data width
Returns:the image data width
/** * Returns the image data width * * @return the image data width */
public int getDataWidth() { return dataWidth; }
Sets the image data width
Params:
  • imageDataWidth – the image data width
/** * Sets the image data width * * @param imageDataWidth the image data width */
public void setDataWidth(int imageDataWidth) { this.dataWidth = imageDataWidth; }
Returns the image data height
Returns:the image data height
/** * Returns the image data height * * @return the image data height */
public int getDataHeight() { return dataHeight; }
Sets the image data height
Params:
  • imageDataHeight – the image data height
/** * Sets the image data height * * @param imageDataHeight the image data height */
public void setDataHeight(int imageDataHeight) { this.dataHeight = imageDataHeight; }
Returns the data height resolution
Returns:the data height resolution
/** * Returns the data height resolution * * @return the data height resolution */
public int getDataHeightRes() { return this.dataHeightRes; }
Sets the data height resolution
Params:
  • dataHeightRes – the data height resolution
/** * Sets the data height resolution * * @param dataHeightRes the data height resolution */
public void setDataHeightRes(int dataHeightRes) { this.dataHeightRes = dataHeightRes; }
Returns the data width resolution
Returns:the data width resolution
/** * Returns the data width resolution * * @return the data width resolution */
public int getDataWidthRes() { return this.dataWidthRes; }
Sets the data width resolution
Params:
  • dataWidthRes – the data width resolution
/** * Sets the data width resolution * * @param dataWidthRes the data width resolution */
public void setDataWidthRes(int dataWidthRes) { this.dataWidthRes = dataWidthRes; }
Sets the object data
Params:
  • data – the object data
/** * Sets the object data * * @param data the object data */
public void setData(byte[] data) { this.data = data; }
Returns the object data
Returns:the object data
/** * Returns the object data * * @return the object data */
public byte[] getData() { return this.data; }
Controls whether to create a page segment or a normal object.
Params:
  • value – true for page segments, false for objects
/** * Controls whether to create a page segment or a normal object. * @param value true for page segments, false for objects */
public void setCreatePageSegment(boolean value) { this.createPageSegment = value; }
Indicates whether a page segment or a normal object shall be created.
Returns:true for page segments, false for objects
/** * Indicates whether a page segment or a normal object shall be created. * @return true for page segments, false for objects */
public boolean isCreatePageSegment() { return this.createPageSegment; }
Sets the way an image is mapped into its target area.
Params:
  • mappingOption – the mapping option (Valid values: see Mapping Option Triplet)
/** * Sets the way an image is mapped into its target area. * @param mappingOption the mapping option (Valid values: see Mapping Option Triplet) */
public void setMappingOption(byte mappingOption) { this.mappingOption = mappingOption; }
Returns the way an image is mapped into its target area. By default, this is "scale to fill" behavior.
Returns:the mapping option value from the Mapping Option Triplet
/** * Returns the way an image is mapped into its target area. By default, this is "scale to fill" * behavior. * @return the mapping option value from the Mapping Option Triplet */
public byte getMappingOption() { return mappingOption; }
{@inheritDoc}
/** {@inheritDoc} */
public String toString() { return "AFPDataObjectInfo{" + "mimeType=" + mimeType + ", dataWidth=" + dataWidth + ", dataHeight=" + dataHeight + ", dataWidthRes=" + dataWidthRes + ", dataHeightRes=" + dataHeightRes + (objectAreaInfo != null ? ", objectAreaInfo=" + objectAreaInfo : "") + (resourceInfo != null ? ", resourceInfo=" + resourceInfo : ""); } }