com.novell.service.file.nw
Class DirectorySpaceInformation

java.lang.Object
  |
  +--com.novell.service.file.nw.DirectorySpaceInformation

public class DirectorySpaceInformation
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

Provides support for NetWare file system directory attribute values and operations.

For the get and set methods that deal with blocks of volume data, the blocksize of a Volume now defaults to 64K when the Volume is created; however, this blocksize may be changed at create time because it is now a variable value. Previously the blocksize was set to be 4K, and was not a variable value.

This class results in a mutable object. For versitility, code block synchronization has been implemented in the various JNDI search and modify methods to provide for thread safe operation.

For multi-threaded applications, if a code segment of that application uses get methods of this class, and there is a potential of another thread randomly using corresponding set methods of this class, you should enclose the calls to the get methods of this class in a synchronized code block.

Also, if a code segment of a multi-threaded application uses set methods of this class, and there is a potential of another thread randomly using corresponding get methods of this class, you should enclose the calls to the set methods of this class in a synchronized code block.


Field Summary
static java.lang.String ATTRIBUTE_ID
          Attribute ID of DirectorySpaceInformation.
static java.lang.String AVAILABLEBLOCKS_FIELD
          AvailableBlocks compare field.
static java.lang.String AVAILABLEDIRENTRIES_FIELD
          AvailableDirEntries compare field.
static java.lang.String COMPARE_SYNTAX_STRING
          Schema Syntax of DirectorySpaceInformation.
static java.lang.String CURRENTUSE_FIELD
          CurrentUse compare field.
static java.lang.String MAXAVAILABLE_FIELD
          MaxAvailable compare field.
static java.lang.String NOTYETPURGEABLEBLOCKS_FIELD
          NotYetPurgeableBlocks compare field.
static java.lang.String PURGEABLEBLOCKS_FIELD
          PurgeableBlocks compare field.
static java.lang.String RESERVED_FIELD
          Reserved compare field.
static java.lang.String SCHEMA_BINDING_NAME
          Schema Name of DirectorySpaceInformation.
static java.lang.String SECTORSPERBLOCK_FIELD
          SectorsPerBlock compare field.
static java.lang.String TOTALBLOCKS_FIELD
          TotalBlocks compare field.
static java.lang.String TOTALDIRENTRIES_FIELD
          TotalDirEntries compare field.
static java.lang.String VOLNAME_FIELD
          VolName compare field.
 
Constructor Summary
DirectorySpaceInformation()
          Constructs a default DirectorySpaceInformation object with no parameters.
DirectorySpaceInformation(int totalBlocks, int availableBlocks, int purgeableBlocks, int notYetPurgeableBlocks, int totalDirEntries, int availableDirEntries, int reserved, int sectorsPerBlock, int maxAvailable, int currentUse, java.lang.String volName)
          Constructs a DirectorySpaceInformation object with all possible state parameters and initializes the object to the values of these parameters.
 
Method Summary
 java.lang.Object clone()
          Clones the current DirectorySpaceInformation object.
 void copy(DirectorySpaceInformation from)
          Copies the CallsServiceRemote from object into this object.
 boolean equals(java.lang.Object obj)
          Compares the input object against this object for equality.
 int getAvailableBlocks()
          Returns the availableBlocks field of this object.
 int getAvailableDirEntries()
          Returns the availableDirEntries field of this object.
 java.lang.String getCompareString()
          Returns the current value of the compareString.
 int getCurrentUse()
          Returns the currentUse field of this object.
 int getMaxAvailable()
          Returns the maxAvailable field of this object.
 int getNotYetPurgeableBlocks()
          Returns the notYetPurgeableBlocks field of this object.
 int getPurgeableBlocks()
          Returns the purgeableBlocks field of this object.
 int getReserved()
          Returns the reserved field of this object.
 com.novell.service.rfc1960.Rfc1960Parser getSearchStringParser()
          Returns the RFC1960 search string parser for the compare string.
 int getSectorsPerBlock()
          Returns the sectorsPerBlock field of this object.
 int getTotalBlocks()
          Returns the totalBlocks field of this object.
 int getTotalDirEntries()
          Gets the totalDirEntries field of this object.
 java.lang.String getVolName()
          Returns the volNam field of this object.
 void setAvailableBlocks(int value)
          Sets the availableBlocks field of this object.
 void setAvailableDirEntries(int value)
          Sets the availableDirEntries field of this object.
 void setCompareString(java.lang.String compareString)
          Sets the compare string value for the compare fields.
 void setCurrentUse(int value)
          Sets the currentUse field of this object.
 void setMaxAvailable(int value)
          Sets the maxAvailable field of this object.
 void setNotYetPurgeableBlocks(int value)
          Sets the notYetPurgeableBlocks field of this object.
 void setPurgeableBlocks(int value)
          Sets the purgeableBlocks field of this object.
 void setReserved(int value)
          Sets the reserved field of this object.
 void setSectorsPerBlock(int value)
          Sets the sectorsPerBlock field of this object.
 void setTotalBlocks(int value)
          Sets the totalBlocks field of this object.
 void setTotalDirEntries(int value)
          Sets the totalDirEntries field of this object.
 void setVolName(java.lang.String value)
          Sets the volName field of this object.
 java.lang.String toString()
          Returns a String representation of this object.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ATTRIBUTE_ID

public static final java.lang.String ATTRIBUTE_ID
Attribute ID of DirectorySpaceInformation.

(ATTRIBUTE_ID = "Directory Space Information")


SCHEMA_BINDING_NAME

public static final java.lang.String SCHEMA_BINDING_NAME
Schema Name of DirectorySpaceInformation.

(SCHEMA_BINDING_NAME = ATTRIBUTE_ID + " Definition")


COMPARE_SYNTAX_STRING

public static final java.lang.String COMPARE_SYNTAX_STRING
Schema Syntax of DirectorySpaceInformation.

(COMPARE_SYNTAX_STRING = "(" + SearchStringComponent.EQUALS_STRING + "," + SearchStringComponent.PRESENT_STRING + "," + SearchStringComponent.SUBSTRING_STRING + ")")


TOTALBLOCKS_FIELD

public static final java.lang.String TOTALBLOCKS_FIELD
TotalBlocks compare field.

(TOTALBLOCKS_FIELD = "TotalBlocks")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

AVAILABLEBLOCKS_FIELD

public static final java.lang.String AVAILABLEBLOCKS_FIELD
AvailableBlocks compare field.

(AVAILABLEBLOCKS_FIELD = "AvailableBlocks")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

PURGEABLEBLOCKS_FIELD

public static final java.lang.String PURGEABLEBLOCKS_FIELD
PurgeableBlocks compare field.

(PURGEABLEBLOCKS_FIELD = "PurgeableBlocks")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

NOTYETPURGEABLEBLOCKS_FIELD

public static final java.lang.String NOTYETPURGEABLEBLOCKS_FIELD
NotYetPurgeableBlocks compare field.

(NOTYETPURGEABLEBLOCKS_FIELD = "NotYetPurgeableBlocks")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

TOTALDIRENTRIES_FIELD

public static final java.lang.String TOTALDIRENTRIES_FIELD
TotalDirEntries compare field.

(TOTALDIRENTRIES_FIELD = "TotalDirEntries")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

AVAILABLEDIRENTRIES_FIELD

public static final java.lang.String AVAILABLEDIRENTRIES_FIELD
AvailableDirEntries compare field.

(AVAILABLEDIRENTRIES_FIELD = "AvailableDirEntries")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

RESERVED_FIELD

public static final java.lang.String RESERVED_FIELD
Reserved compare field.

(RESERVED_FIELD = "Reserved")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

SECTORSPERBLOCK_FIELD

public static final java.lang.String SECTORSPERBLOCK_FIELD
SectorsPerBlock compare field.

(SECTORSPERBLOCK_FIELD = "SectorsPerBlock")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

VOLNAME_FIELD

public static final java.lang.String VOLNAME_FIELD
VolName compare field.

(VOLNAME_FIELD = "VolName")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

MAXAVAILABLE_FIELD

public static final java.lang.String MAXAVAILABLE_FIELD
MaxAvailable compare field.

(MAXAVAILABLE_FIELD = "MaxAvailable")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)

CURRENTUSE_FIELD

public static final java.lang.String CURRENTUSE_FIELD
CurrentUse compare field.

(CURRENTUSE_FIELD = "CurrentUse")

See Also:
setCompareString(java.lang.String), equals(java.lang.Object)
Constructor Detail

DirectorySpaceInformation

public DirectorySpaceInformation()
Constructs a default DirectorySpaceInformation object with no parameters.

DirectorySpaceInformation

public DirectorySpaceInformation(int totalBlocks,
                                 int availableBlocks,
                                 int purgeableBlocks,
                                 int notYetPurgeableBlocks,
                                 int totalDirEntries,
                                 int availableDirEntries,
                                 int reserved,
                                 int sectorsPerBlock,
                                 int maxAvailable,
                                 int currentUse,
                                 java.lang.String volName)
Constructs a DirectorySpaceInformation object with all possible state parameters and initializes the object to the values of these parameters.
Parameters:
totalBlocks - The totalBlocks data members value.
availableBlocks - The availableBlocks data members value.
purgeableBlocks - The purgeableBlocks data members value.
notYetPurgeableBlocks - The notYetPurgeableBlocks data members value.
totalDirEntries - The totalDirEntries data members value.
availableDirEntries - The availableDirEntries data members value.
reserved - The reserved data members value.
sectorsPerBlock - The sectorsPerBlock data members value.
maxAvailable - The maxAvailable data members value.
currentUse - The currentUse data members value.
volName - The volName data members value.
Method Detail

getTotalBlocks

public int getTotalBlocks()
Returns the totalBlocks field of this object.
Returns:
The current totalBlocks value in blocksize.
See Also:
TOTALBLOCKS_FIELD

setTotalBlocks

public void setTotalBlocks(int value)
Sets the totalBlocks field of this object.
Parameters:
value - The new totalBlocks value in blocksize.
See Also:
TOTALBLOCKS_FIELD

getAvailableBlocks

public int getAvailableBlocks()
Returns the availableBlocks field of this object.

The availableBlocks value is either the total available blocks on the Volume or the currently available amount in the directory if directory restrictions are in effect.

See Also:
AVAILABLEBLOCKS_FIELD

setAvailableBlocks

public void setAvailableBlocks(int value)
Sets the availableBlocks field of this object.
Parameters:
value - The new availableBlocks value in blocksize.
See Also:
getAvailableBlocks(), AVAILABLEBLOCKS_FIELD

getPurgeableBlocks

public int getPurgeableBlocks()
Returns the purgeableBlocks field of this object.
Returns:
The current purgeableBlocks value in blocksize.
See Also:
PURGEABLEBLOCKS_FIELD

setPurgeableBlocks

public void setPurgeableBlocks(int value)
Sets the purgeableBlocks field of this object.
Parameters:
value - The new purgeableBlocks value in blocksize.
See Also:
PURGEABLEBLOCKS_FIELD

getNotYetPurgeableBlocks

public int getNotYetPurgeableBlocks()
Returns the notYetPurgeableBlocks field of this object.
Returns:
The current notYetPurgeableBlocks value in blocksize.
See Also:
NOTYETPURGEABLEBLOCKS_FIELD

setNotYetPurgeableBlocks

public void setNotYetPurgeableBlocks(int value)
Sets the notYetPurgeableBlocks field of this object.
Parameters:
value - The new notYetPurgeableBlocks value in blocksize.
See Also:
NOTYETPURGEABLEBLOCKS_FIELD

getTotalDirEntries

public int getTotalDirEntries()
Gets the totalDirEntries field of this object.
Returns:
The current totalDirEntries value.
See Also:
TOTALDIRENTRIES_FIELD

setTotalDirEntries

public void setTotalDirEntries(int value)
Sets the totalDirEntries field of this object.
Parameters:
value - The new totalDirEntries value.
See Also:
TOTALDIRENTRIES_FIELD

getAvailableDirEntries

public int getAvailableDirEntries()
Returns the availableDirEntries field of this object.
Returns:
The current availableDirEntries value.
See Also:
AVAILABLEDIRENTRIES_FIELD

setAvailableDirEntries

public void setAvailableDirEntries(int value)
Sets the availableDirEntries field of this object.
Parameters:
value - The new availableDirEntries value.
See Also:
AVAILABLEDIRENTRIES_FIELD

getReserved

public int getReserved()
Returns the reserved field of this object.
Returns:
The current reserved value.
See Also:
RESERVED_FIELD

setReserved

public void setReserved(int value)
Sets the reserved field of this object.
Parameters:
value - The new reserved value.
See Also:
RESERVED_FIELD

getSectorsPerBlock

public int getSectorsPerBlock()
Returns the sectorsPerBlock field of this object.
Returns:
The current sectorsPerBlock value.
See Also:
SECTORSPERBLOCK_FIELD

setSectorsPerBlock

public void setSectorsPerBlock(int value)
Sets the sectorsPerBlock field of this object.
Parameters:
value - The new sectorsPerBlock value.
See Also:
SECTORSPERBLOCK_FIELD

getVolName

public java.lang.String getVolName()
Returns the volNam field of this object.
Returns:
The current volName value.
See Also:
VOLNAME_FIELD

setVolName

public void setVolName(java.lang.String value)
Sets the volName field of this object.
Parameters:
value - The new volName value.
See Also:
VOLNAME_FIELD

getMaxAvailable

public int getMaxAvailable()
Returns the maxAvailable field of this object.

The maxAvailable value is set to 0x7FFFFFFF if no directory restrictions are in place. If restrictions are in place, then this is the amount of restriction in 4K pieces. This value is not the same as availableBlocks; it represents the maximum amount of space assigned to a directory and not the amount of space currently available in the directory.

Returns:
The current maxAvailable value in 4K pieces.
See Also:
MAXAVAILABLE_FIELD

setMaxAvailable

public void setMaxAvailable(int value)
Sets the maxAvailable field of this object.
Parameters:
value - The new maxAvailable value in 4K pieces.
See Also:
MAXAVAILABLE_FIELD

getCurrentUse

public int getCurrentUse()
Returns the currentUse field of this object.
Returns:
The current currentUse value in 4K pieces.
See Also:
CURRENTUSE_FIELD

setCurrentUse

public void setCurrentUse(int value)
Sets the currentUse field of this object.
Parameters:
value - The new currentUse value in 4K pieces.
See Also:
CURRENTUSE_FIELD

setCompareString

public void setCompareString(java.lang.String compareString)
Sets the compare string value for the compare fields.

The compare string uses the RFC1960 (LDAP) search string format, and is used to allow individual compares on the compare fields.

If the string passed in is not a valid RFC1960 formated string, this method will throw an IllegalArgumentException. If the compareString value is null, RFC1960 formated compares will be disabled.

The names of these fields have taken the names of their corresponding methods minus the get or set prefix. Given the following string:

"(&(Name=*printer*)(ObjectId>=2)(Rights>=128))" The equals method will return TRUE if the name contains the substring printer, the objectId is not 2, and the rights are set to be able to modify (TA_MODIFY). If the approximate operator type is used on the Rights field the various bits of the operand value are checked, and if any of them are set, equals will return TRUE. For example: "(Rights~=3) returns TRUE if either the TA_READ or TA_WRITE bits are set, regardless of what other bits might be set.

Parameters:
compareString - The RFC1960 formated search string. NULL disables this compare functionality.
Throws:
java.lang.IllegalArgumentException - if the string passed in is not a valid RFC1960 formatted string.
See Also:
equals(java.lang.Object), TOTALBLOCKS_FIELD, AVAILABLEBLOCKS_FIELD, PURGEABLEBLOCKS_FIELD, NOTYETPURGEABLEBLOCKS_FIELD, TOTALDIRENTRIES_FIELD, AVAILABLEDIRENTRIES_FIELD, RESERVED_FIELD, SECTORSPERBLOCK_FIELD, VOLNAME_FIELD, MAXAVAILABLE_FIELD, CURRENTUSE_FIELD

getCompareString

public java.lang.String getCompareString()
Returns the current value of the compareString.
Returns:
The current value of compareString.
See Also:
Trustee.setCompareString(java.lang.String)

getSearchStringParser

public com.novell.service.rfc1960.Rfc1960Parser getSearchStringParser()
Returns the RFC1960 search string parser for the compare string.

The Rfc1960Parser object is returned that was instantiated with the compareString last set by the setCompareString method.

Returns:
The Rfc1960Parser object for the current compare String. NULL is returned if the compare string has not been set.

equals

public boolean equals(java.lang.Object obj)
Compares the input object against this object for equality.

If the input object has a RFC1960 compare string, this method will do the comparision based on the commands in the compare string. If the operationType is illegal for the data type being compared, an IllegalArmumentException will be thrown.

Parameters:
obj - The object to compare.
Returns:
A boolean set to TRUE if the two objects are equal, otherwise FALSE is returned.
Throws:
java.lang.IllegalArgumentException - if the operationType is illegal for the data type being compared.
Overrides:
equals in class java.lang.Object
See Also:
setCompareString(java.lang.String), TOTALBLOCKS_FIELD, AVAILABLEBLOCKS_FIELD, PURGEABLEBLOCKS_FIELD, NOTYETPURGEABLEBLOCKS_FIELD, TOTALDIRENTRIES_FIELD, AVAILABLEDIRENTRIES_FIELD, RESERVED_FIELD, SECTORSPERBLOCK_FIELD, VOLNAME_FIELD, MAXAVAILABLE_FIELD, CURRENTUSE_FIELD

toString

public java.lang.String toString()
Returns a String representation of this object.

The string returned is in the following format: "totalBlocks: n, availableBlocks: n, purgeableBlocks: n, notYetPurgeableBlocks: n, totalDirEntries: n, availableDirEntries: n, reserved: n, sectorsPerBlock: n, maxAvailable: n, currentUse n, volName: s, compareString: s".

Returns:
The String representation of this object.
Overrides:
toString in class java.lang.Object

clone

public java.lang.Object clone()
Clones the current DirectorySpaceInformation object.

Instantiates a new object of this type with all new references, but with the same values within those references.

Returns:
A new DirectorySpaceInformation object with the same values.

copy

public void copy(DirectorySpaceInformation from)
Copies the CallsServiceRemote from object into this object.