public class SizeSelector extends BaseExtendSelector
Modifier and Type | Class and Description |
---|---|
static class |
SizeSelector.ByteUnits
Enumerated attribute with the values for units.
|
static class |
SizeSelector.SizeComparisons
Enumerated attribute with the values for size comparison.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SIZE_KEY
Used for parameterized custom selector
|
static java.lang.String |
UNITS_KEY
Used for parameterized custom selector
|
static java.lang.String |
WHEN_KEY
Used for parameterized custom selector
|
parameters
description, location, project
Constructor and Description |
---|
SizeSelector()
Creates a new
SizeSelector instance. |
Modifier and Type | Method and Description |
---|---|
boolean |
isSelected(java.io.File basedir,
java.lang.String filename,
java.io.File file)
The heart of the matter.
|
void |
setParameters(Parameter[] parameters)
When using this as a custom selector, this method will be called.
|
void |
setUnits(SizeSelector.ByteUnits units)
Sets the units to use for the comparison.
|
void |
setValue(long size)
A size selector needs to know what size to base its selecting on.
|
void |
setWhen(SizeSelector.SizeComparisons when)
This specifies when the file should be selected, whether it be
when the file matches a particular size, when it is smaller,
or whether it is larger.
|
java.lang.String |
toString()
Returns a
String object representing the specified
SizeSelector. |
void |
verifySettings()
Checks to make sure all settings are kosher.
|
getParameters
getError, setError, validate
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
public static final java.lang.String SIZE_KEY
public static final java.lang.String UNITS_KEY
public static final java.lang.String WHEN_KEY
public java.lang.String toString()
String
object representing the specified
SizeSelector. This is "{sizeselector value: " + <"compare",
"less", "more", "equal"> + "}".public void setValue(long size)
size
- the size to select against expressed in units.public void setUnits(SizeSelector.ByteUnits units)
To get around this complexity, a number of standards bodies have proposed the 2^10 standard, and at least one has adopted it. But we are still left with a populace that isn't clear on how capitalization should work.
We therefore ignore capitalization as much as possible. Completely mixed case is not possible, but all upper and lower forms are accepted for all long and short forms. Since we have no need to work with the 0.001 case, this practice works here.
This function translates all the long and short forms that a unit prefix can occur in and translates them into a single multiplier.
units
- The units to compare the size to, using an
EnumeratedAttribute.public void setWhen(SizeSelector.SizeComparisons when)
when
- The comparison to perform, an EnumeratedAttribute.public void setParameters(Parameter[] parameters)
setParameters
in interface Parameterizable
setParameters
in class BaseExtendSelector
parameters
- the complete set of parameters for this selector.public void verifySettings()
Checks to make sure all settings are kosher. In this case, it means that the size attribute has been set (to a positive value), that the multiplier has a valid setting, and that the size limit is valid. Since the latter is a calculated value, this can only fail due to a programming error.
If a problem is detected, the setError() method is called.
verifySettings
in class BaseSelector
public boolean isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)
isSelected
in interface FileSelector
isSelected
in class BaseExtendSelector
basedir
- A java.io.File object for the base directory.filename
- The name of the file to check.file
- A File object for this filename.