org.opends.server.loggers
Class FreeDiskSpaceRetentionPolicy

java.lang.Object
  extended by org.opends.server.loggers.FreeDiskSpaceRetentionPolicy
All Implemented Interfaces:
ConfigurationChangeListener<FreeDiskSpaceLogRetentionPolicyCfg>, RetentionPolicy<FreeDiskSpaceLogRetentionPolicyCfg>

public class FreeDiskSpaceRetentionPolicy
extends java.lang.Object
implements RetentionPolicy<FreeDiskSpaceLogRetentionPolicyCfg>, ConfigurationChangeListener<FreeDiskSpaceLogRetentionPolicyCfg>

This class implements a retention policy based on the free disk space available expressed as a percentage. This policy is only available on Java 6.


Constructor Summary
FreeDiskSpaceRetentionPolicy()
           
 
Method Summary
 ConfigChangeResult applyConfigurationChange(FreeDiskSpaceLogRetentionPolicyCfg config)
          Applies the configuration changes to this change listener.
 java.io.File[] deleteFiles(FileNamingPolicy fileNamingPolicy)
          Returns all files that should be deleted according to the policy.
 void initializeLogRetentionPolicy(FreeDiskSpaceLogRetentionPolicyCfg config)
          Initializes this log retention policy based on the information in the provided retention policy configuration.
 boolean isConfigurationChangeAcceptable(FreeDiskSpaceLogRetentionPolicyCfg config, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed change to the configuration is acceptable to this change listener.
 java.lang.String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FreeDiskSpaceRetentionPolicy

public FreeDiskSpaceRetentionPolicy()
Method Detail

initializeLogRetentionPolicy

public void initializeLogRetentionPolicy(FreeDiskSpaceLogRetentionPolicyCfg config)
Initializes this log retention policy based on the information in the provided retention policy configuration.

Specified by:
initializeLogRetentionPolicy in interface RetentionPolicy<FreeDiskSpaceLogRetentionPolicyCfg>
Parameters:
config - The retention policy configuration that contains the information to use to initialize this policy.

isConfigurationChangeAcceptable

public boolean isConfigurationChangeAcceptable(FreeDiskSpaceLogRetentionPolicyCfg config,
                                               java.util.List<Message> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener.

Specified by:
isConfigurationChangeAcceptable in interface ConfigurationChangeListener<FreeDiskSpaceLogRetentionPolicyCfg>
Parameters:
config - The new configuration containing the changes.
unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
Returns:
Returns true if the proposed change is acceptable, or false if it is not.

applyConfigurationChange

public ConfigChangeResult applyConfigurationChange(FreeDiskSpaceLogRetentionPolicyCfg config)
Applies the configuration changes to this change listener.

Specified by:
applyConfigurationChange in interface ConfigurationChangeListener<FreeDiskSpaceLogRetentionPolicyCfg>
Parameters:
config - The new configuration containing the changes.
Returns:
Returns information about the result of changing the configuration.

deleteFiles

public java.io.File[] deleteFiles(FileNamingPolicy fileNamingPolicy)
                           throws DirectoryException
Returns all files that should be deleted according to the policy.

Specified by:
deleteFiles in interface RetentionPolicy<FreeDiskSpaceLogRetentionPolicyCfg>
Parameters:
fileNamingPolicy - The naming policy used generate the log file names.
Returns:
An array of files that should be deleted according to the policy or null if an error occured while obtaining the file list.
Throws:
DirectoryException - If an error occurs while obtaining a list of files to delete.

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object