Package org.apache.fop.afp
Class AFPResourceManager
- java.lang.Object
-
- org.apache.fop.afp.AFPResourceManager
-
public class AFPResourceManager extends java.lang.ObjectManages the creation and storage of document resources
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanincludeCached
-
Constructor Summary
Constructors Constructor Description AFPResourceManager(InternalResourceResolver resourceResolver)Main constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataStreamcreateDataStream(AFPPaintingState paintingState, java.io.OutputStream outputStream)Sets the outputstreamvoidcreateIncludedResource(java.lang.String resourceName, java.net.URI uri, AFPResourceAccessor accessor, byte resourceObjectType, boolean truetype, java.lang.String ttc)Creates an included resource object by loading the contained object from a file.voidcreateIncludedResource(java.lang.String resourceName, AFPResourceAccessor accessor, byte resourceObjectType)Creates an included resource object by loading the contained object from a file.voidcreateIncludedResourceFromExternal(java.lang.String resourceName, java.net.URI uri, AFPResourceAccessor accessor)Creates an included resource extracting the named resource from an external source.voidcreateObject(AFPDataObjectInfo dataObjectInfo)Creates a new data object in the AFP datastreamvoidembedFont(AFPFont afpFont, CharacterSet charSet)Handles font embedding.DataStreamgetDataStream()Returns the AFP DataStreamAFPResourceLevelDefaultsgetResourceLevelDefaults()Returns the resource level defaults in use with this resource manager.booleanincludeCachedObject(AFPResourceInfo resourceInfo, AFPObjectAreaInfo areaInfo)booleanisObjectCached(AFPResourceInfo resourceInfo)Returnstrueif the passedAFPResourceInfoinstance is already cached.voidsetDefaultResourceGroupUri(java.net.URI uri)Sets the default resource group URI.voidsetResourceLevelDefaults(AFPResourceLevelDefaults defaults)Sets resource level defaults.booleantryIncludeObject(AFPDataObjectInfo dataObjectInfo)Tries to create an include of a data object that has been previously added to the AFP data stream.voidwriteToStream()Tells the streamer to write
-
-
-
Constructor Detail
-
AFPResourceManager
public AFPResourceManager(InternalResourceResolver resourceResolver)
Main constructor- Parameters:
resourceResolver- the associatedInternalResourceResolverinstance
-
-
Method Detail
-
createDataStream
public DataStream createDataStream(AFPPaintingState paintingState, java.io.OutputStream outputStream) throws java.io.IOException
Sets the outputstream- Parameters:
paintingState- the AFP painting stateoutputStream- the outputstream- Returns:
- a new AFP DataStream
- Throws:
java.io.IOException- thrown if an I/O exception of some sort has occurred
-
getDataStream
public DataStream getDataStream()
Returns the AFP DataStream- Returns:
- the AFP DataStream
-
writeToStream
public void writeToStream() throws java.io.IOExceptionTells the streamer to write- Throws:
java.io.IOException- thrown if an I/O exception of some sort has occurred.
-
setDefaultResourceGroupUri
public void setDefaultResourceGroupUri(java.net.URI uri)
Sets the default resource group URI.- Parameters:
uri- the default resource group URI
-
tryIncludeObject
public boolean tryIncludeObject(AFPDataObjectInfo dataObjectInfo) throws java.io.IOException
Tries to create an include of a data object that has been previously added to the AFP data stream. If no such object was available, the method returns false which serves as a signal that the object has to be created.- Parameters:
dataObjectInfo- the data object info- Returns:
- true if the inclusion succeeded, false if the object was not available
- Throws:
java.io.IOException- thrown if an I/O exception of some sort has occurred.
-
createObject
public void createObject(AFPDataObjectInfo dataObjectInfo) throws java.io.IOException
Creates a new data object in the AFP datastream- Parameters:
dataObjectInfo- the data object info- Throws:
java.io.IOException- thrown if an I/O exception of some sort has occurred.
-
isObjectCached
public boolean isObjectCached(AFPResourceInfo resourceInfo)
Returnstrueif the passedAFPResourceInfoinstance is already cached.- Parameters:
resourceInfo- the resource info to check- Returns:
trueif the object is cached
-
includeCachedObject
public boolean includeCachedObject(AFPResourceInfo resourceInfo, AFPObjectAreaInfo areaInfo)
- Parameters:
resourceInfo- the resource info to checkareaInfo- the area info to check- Returns:
trueif ...
-
embedFont
public void embedFont(AFPFont afpFont, CharacterSet charSet) throws java.io.IOException
Handles font embedding. If a font is embeddable and has not already been embedded it will be.- Parameters:
afpFont- the AFP font to be checked for embeddingcharSet- the associated character set- Throws:
java.io.IOException- if there's a problem while embedding the external resources
-
createIncludedResource
public void createIncludedResource(java.lang.String resourceName, AFPResourceAccessor accessor, byte resourceObjectType) throws java.io.IOExceptionCreates an included resource object by loading the contained object from a file.- Parameters:
resourceName- the name of the resourceaccessor- resource accessor to access the resource withresourceObjectType- the resource object type (ResourceObject.*)- Throws:
java.io.IOException- if an I/O error occurs while loading the resource
-
createIncludedResource
public void createIncludedResource(java.lang.String resourceName, java.net.URI uri, AFPResourceAccessor accessor, byte resourceObjectType, boolean truetype, java.lang.String ttc) throws java.io.IOExceptionCreates an included resource object by loading the contained object from a file.- Parameters:
resourceName- the name of the resourceuri- the URI for the resourceaccessor- resource accessor to access the resource withresourceObjectType- the resource object type (ResourceObject.*)- Throws:
java.io.IOException- if an I/O error occurs while loading the resource
-
createIncludedResourceFromExternal
public void createIncludedResourceFromExternal(java.lang.String resourceName, java.net.URI uri, AFPResourceAccessor accessor) throws java.io.IOExceptionCreates an included resource extracting the named resource from an external source.- Parameters:
resourceName- the name of the resourceuri- the URI for the resourceaccessor- resource accessor to access the resource with- Throws:
java.io.IOException- if an I/O error occurs while loading the resource
-
setResourceLevelDefaults
public void setResourceLevelDefaults(AFPResourceLevelDefaults defaults)
Sets resource level defaults. The existing defaults over merged with the ones passed in as parameter.- Parameters:
defaults- the new defaults
-
getResourceLevelDefaults
public AFPResourceLevelDefaults getResourceLevelDefaults()
Returns the resource level defaults in use with this resource manager.- Returns:
- the resource level defaults
-
-