/*
* 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 : "");
}
}