-
- All Known Implementing Classes:
DTFJImageFactory
,ImageFactory
,J9DDRImageFactory
,JCImageFactory
,PHDImageFactory
public interface ImageFactory
This interface is used for classes which can produce instances of Image implementers.
Classes that implement this interface should provide a zero argument, public constructor so that they can be created using
e.g.Class.newInstance()
.Image image; try { Class<?> factoryClass = Class.forName("com.ibm.dtfj.image.j9.ImageFactory"); ImageFactory factory = (ImageFactory) factoryClass.newInstance(); image = factory.getImage(new File(coreFileName), new File(xmlFileName)); } catch (ClassNotFoundException e) { System.err.println("Could not find DTFJ factory class:"); e.printStackTrace(System.err); } catch (IllegalAccessException e) { System.err.println("Could not instantiate DTFJ factory class:"); e.printStackTrace(System.err); } catch (InstantiationException e) { System.err.println("Could not instantiate DTFJ factory class:"); e.printStackTrace(System.err); } catch (IOException e) { System.err.println("Could not find file required for bootstrapping:"); e.printStackTrace(System.err); }
-
-
Field Summary
Fields Modifier and Type Field Description static String
DTFJ_LOGGER_NAME
This is the name of thejava.util.logging.Logger
subsystem to which DTFJ passes verbose messages.static int
DTFJ_MAJOR_VERSION
The major version number of the current API.static int
DTFJ_MINOR_VERSION
The minor version number of the current API.static String
SYSTEM_PROPERTY_TMPDIR
If the image is to be created from a core file inside an archive, this property controls where the file will extracted.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getDTFJMajorVersion()
Fetch the DTFJ major version number.int
getDTFJMinorVersion()
Fetch the DTFJ minor version number.int
getDTFJModificationLevel()
Fetch the DTFJ modification level.Image
getImage(File imageFile)
Creates a newImage
object based on the contents ofimageFile
.Image
getImage(File imageFile, File metadata)
Creates a newImage
object based on the contents ofimageFile
andmetadata
.Image
getImage(ImageInputStream in, URI sourceID)
Creates a newImage
object based on the contents of the given input stream.Image
getImage(ImageInputStream in, ImageInputStream metadata, URI sourceID)
Creates a newImage
object based on the contents of the given input stream.Image[]
getImagesFromArchive(File archive, boolean extract)
Creates an array ofImage
objects from an archive such as a zip or jar file.
-
-
-
Field Detail
-
DTFJ_MAJOR_VERSION
static final int DTFJ_MAJOR_VERSION
The major version number of the current API.- See Also:
- Constant Field Values
-
DTFJ_MINOR_VERSION
static final int DTFJ_MINOR_VERSION
The minor version number of the current API.- See Also:
- Constant Field Values
-
DTFJ_LOGGER_NAME
static final String DTFJ_LOGGER_NAME
This is the name of thejava.util.logging.Logger
subsystem to which DTFJ passes verbose messages.- See Also:
- Constant Field Values
-
SYSTEM_PROPERTY_TMPDIR
static final String SYSTEM_PROPERTY_TMPDIR
If the image is to be created from a core file inside an archive, this property controls where the file will extracted. If this is not specified then the value of java.io.tmpdir will be used.- Since:
- 1.10
- See Also:
- Constant Field Values
-
-
Method Detail
-
getImage
Image getImage(File imageFile) throws IOException
Creates a newImage
object based on the contents ofimageFile
.- Parameters:
imageFile
- a file with Image information, typically a core file- Returns:
- an instance of Image
- Throws:
IOException
- if there's a problem reading the specified fileNullPointerException
- ifimageFile
is null
-
getImage
Image getImage(ImageInputStream in, URI sourceID) throws IOException
Creates a newImage
object based on the contents of the given input stream.- Parameters:
in
- a stream with image information, typically a core filesourceID
-URI
identifying the source of the image stream- Returns:
- an instance of
Image
- Throws:
IOException
- if there's a problem reading the given streamUnsupportedOperationException
- if the factory does not support this methodNullPointerException
- if either ofin
orsourceID
is null- Since:
- 1.10
-
getImage
Image getImage(ImageInputStream in, ImageInputStream metadata, URI sourceID) throws IOException
Creates a newImage
object based on the contents of the given input stream.- Parameters:
in
- a stream with image information, typically a core filemetadata
- a stream with metadata associated with the image streamsourceID
-URI
identifying the source of the image stream- Returns:
- an instance of
Image
- Throws:
IOException
- if there's a problem reading the given streamsUnsupportedOperationException
- if the factory does not support this methodNullPointerException
- if any ofin
,metadata
orsourceID
is null- Since:
- 1.10
-
getImagesFromArchive
Image[] getImagesFromArchive(File archive, boolean extract) throws IOException
Creates an array ofImage
objects from an archive such as a zip or jar file.- Parameters:
archive
- which typically contains one or more diagnostic artifactsextract
- true if the files in the archive should be extracted to a temporary directory- Returns:
- an array of
Image
s - Throws:
IOException
- if there's a problem reading the specified archiveUnsupportedOperationException
- if the factory does not support this method- Since:
- 1.10
-
getImage
Image getImage(File imageFile, File metadata) throws IOException
Creates a newImage
object based on the contents ofimageFile
andmetadata
.- Parameters:
imageFile
- a file with image information, typically a core filemetadata
- an (implementation-defined) file with additional image information (or null if not required)- Returns:
- an instance of
Image
- Throws:
IOException
- if there's a problem reading either of the specified filesNullPointerException
- ifimageFile
is null
-
getDTFJMajorVersion
int getDTFJMajorVersion()
Fetch the DTFJ major version number.- Returns:
- an integer corresponding to the DTFJ API major version number
-
getDTFJMinorVersion
int getDTFJMinorVersion()
Fetch the DTFJ minor version number.- Returns:
- an integer corresponding to the DTFJ API minor version number
-
getDTFJModificationLevel
int getDTFJModificationLevel()
Fetch the DTFJ modification level.- Returns:
- an integer corresponding to the DTFJ API modification level
- Since:
- SDK 6.0 SR1 (DTFJ version 1.2)
-
-