com.ibm.broker.config.proxy
Class BarFile

java.lang.Object
  extended by com.ibm.broker.config.proxy.BarFile

public class BarFile
extends java.lang.Object

Represents a broker archive file on the local filesystem.

After deployment, each deployed artefact contains a property that is the name of the BarFile in which it was successfully deployed. However, to retrieve the complete contents of that BarFile, it must exist on the local filesystem. In other words, once a BarFile is deployed it cannot be accessed directly through the Configuration Manager or broker using this class.

To instantiate BarFile objects, you must use a BarFile factory method. If you modify the BarFile in any way, you must use one of either the save() or saveAs() methods in order to make the changes persistent. For example:

     BarFile b = BarFile.loadBarFile("C:\\MyBars\\test.bar");
     DeploymentDescriptor d = new DeploymentDescriptor();
     // ...
     b.setDeploymentDescriptor(d);
     b.save();
 

com.ibm.broker.config.proxy.BarFile

Responsibilities A representation of a broker archive file on the local filesystem. Provides the ability to list the contents and manipulate the deployment descriptor
Internal Collaborators com.ibm.broker.config.proxy.DeploymentDescriptor

 Change Activity:
 -------- ----------- -------------   ------------------------------------
 Reason:  Date:       Originator:     Comments:
 -------- ----------- -------------   ------------------------------------
 45166    2007-06-05  HDMPL           v6.1 Release
 
 

Version:
Config/com/ibm/broker/config/proxy/BarFile.java, CMP, S000 1.8

Method Summary
 java.util.Enumeration<BarEntry> getBarEntries()
          Returns the set of Bar entries that are contained in the BarFile.
 BarEntry getBarEntryByName(java.lang.String filename)
          Returns the bar entry that has the supplied name.
 java.util.Enumeration<java.lang.String> getBarEntryNames()
          Returns the set of Bar entry filenames that are contained in the BarFile.
 DeploymentDescriptor getDeploymentDescriptor()
          Returns the object that represents the deployment descriptor.
static BarFile loadBarFile(java.lang.String pathAndFileName)
          Factory for the BarFile class.
 void save()
          Saves the contents of the BarFile to a file on the local filesystem.
 void saveAs(java.lang.String outputFilename)
          Saves the contents of the BarFile to a file on the local filesystem.
 void setDeploymentDescriptor(DeploymentDescriptor newDescriptor)
          Sets the deployment descriptor associated with this object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

loadBarFile

public static BarFile loadBarFile(java.lang.String pathAndFileName)
                           throws java.io.IOException
Factory for the BarFile class. If the File to which the BarFile refers already exists on the local filesystem, its contents are read and stored locally.

Parameters:
pathAndFileName - Local path and filename that points to the BarFile to be read or created.
Throws:
java.io.IOException - if the file could not be successfully read

getDeploymentDescriptor

public DeploymentDescriptor getDeploymentDescriptor()
Returns the object that represents the deployment descriptor. If there is no deployment descriptor associated with this BarFile, this method returns null.

Returns:
DeploymentDescriptor

setDeploymentDescriptor

public void setDeploymentDescriptor(DeploymentDescriptor newDescriptor)
Sets the deployment descriptor associated with this object. This method causes a new Bar file to be written to the local filesystem. If the supplied DeploymentDescriptor is null, any active deployment descriptor will be removed.

If backupDescriptorName is not null, the previous deployment descriptor will be renamed inside the Bar file to the file specified. Any path name will be ignored; the backup file will be placed in the META-INF directory and will replace any file of the same name.

If backupBarName is not null, the original Bar file will be backed up to the supplied name before the operation begins.

Parameters:
newDescriptor - object representing the new deployment descriptor.

getBarEntryNames

public java.util.Enumeration<java.lang.String> getBarEntryNames()
Returns the set of Bar entry filenames that are contained in the BarFile.

Returns:
Enumeration

getBarEntries

public java.util.Enumeration<BarEntry> getBarEntries()
Returns the set of Bar entries that are contained in the BarFile.

Returns:
Enumeration

getBarEntryByName

public BarEntry getBarEntryByName(java.lang.String filename)
Returns the bar entry that has the supplied name. The format of the filename is the same as was supplied by getBarEntryName(). If no BarEntry exists with the supplied name, null is returned.

Parameters:
filename - Full path name of the BarEntry
Returns:
BarEntry

save

public void save()
          throws java.io.IOException
Saves the contents of the BarFile to a file on the local filesystem. If any changes have been made to the deployment descriptor since it was instantiated, this method causes these changes to be persisted. The original Bar file is replaced with the new one.

Parameters:
filename - Name of the filename to use to save the BAR file.
Throws:
java.io.IOException - if either the contents of the old BAR file could not be read or the new file could not be written.

saveAs

public void saveAs(java.lang.String outputFilename)
            throws java.io.IOException
Saves the contents of the BarFile to a file on the local filesystem. If any changes have been made to the deployment descriptor since it was instantiated, this method causes these changes to be persisted.

Parameters:
filename - Name of the filename to use to save the BAR file.
Throws:
java.io.IOException - if either the contents of the old BAR file could not be read or the new file could not be written.