SortFilter

Extends \BaseParamFilterReader Implements \ChainableReader

<p> Sort a file before and/or after the file.

Examples:

  <copy todir="build">
      <fileset dir="input" includes="*.txt"/>
      <filterchain>
          <sortfilter/>
      </filterchain>
  </copy>

Sort all files *.txt from src location and copy them into build location. The lines of each file are sorted in ascendant order comparing the lines.

  <copy todir="build">
      <fileset dir="input" includes="*.txt"/>
      <filterchain>
          <sortfilter reverse="true"/>
      </filterchain>
  </copy>

Sort all files *.txt from src location into reverse order and copy them into build location. If reverse parameter has value true (default value), then the output line of the files will be in ascendant order.

author

Siad.ardroumli siad.ardroumli@gmail.com

see
package

phing.filters

Methods

__construct

__construct(\Reader $in = null) 
inherited

Arguments

$in

\Reader

Creates a new SortReader using the passed in Reader for instantiation.

chain(\Reader $rdr) : \SortFilter

Arguments

$rdr

\Reader

A Reader object providing the underlying stream. Must not be null.

Response

\SortFilter

a new filter based on this configuration, but filtering the specified reader

Close stream.

close() 
inherited abstract
throws

if there is an error closing stream

Returns whether the end of file has been reached with input stream.

eof() : boolean
inherited

Response

boolean

Returns the initialized status.

getInitialized() : boolean
inherited

Response

boolean

whether or not the filter is initialized

Returns the parameters to be used by this filter.

getParameters() : array
inherited

Response

array

the parameters to be used by this filter

Returns the project this filter is part of.

getProject() : object
inherited

Response

object

The project this filter is part of

Returns the filename, url, etc. that is being read from.

getResource() : string
inherited abstract

This is critical for, e.g., ExpatParser's ability to know the filename that is throwing an ExpatParserException, etc.

Response

string

Scans the parameters list

initialize() 

Returns <code>true</code> if the sorting process will be in reverse order, otherwise the sorting process will be in ascendant order.

isReverse() : boolean

Response

boolean

true if the sorting process will be in reverse order, otherwise the sorting process will be in ascendant order.

Convenience method to support logging in filters.

log(string $msg, integer $level = \Project::MSG_INFO) : void
inherited

Arguments

$msg

string

Message to log.

$level

integer

Priority level.

If supported, places a "marker" (like a bookmark) at current stream position.

mark() 
inherited

A subsequent call to reset() will move stream position back to last marker (if supported).

Whether marking is supported.

markSupported() : boolean
inherited

Response

boolean

Read data from source.

read(integer $len = null) 
inherited abstract

If length is specified, then only that number of chars is read, otherwise stream is read until EOF.

Arguments

$len

integer

Reads a line of text ending with '\n' (or until the end of the stream).

readLine() : string
inherited

The returned String retains the '\n'.

throws

if the underlying reader throws one during reading

Response

string

the line read, or null if the end of the stream has already been reached

Is stream ready for reading.

ready() : boolean
inherited

Response

boolean

Reset the current position in stream to beginning or last mark (if supported).

reset() 
inherited

Sets the initialized status.

setInitialized(boolean $initialized) 
inherited

Arguments

$initialized

boolean

Whether or not the filter is initialized.

Sets the parameters used by this filter, and sets the filter to an uninitialized status.

setParameters(array $parameters) : void
inherited
throws

Arguments

$parameters

array

Array of parameters to be used by this filter. Should not be null.

Sets the project to work with.

setProject(object|\Project $project) 
inherited

Arguments

$project

object|\Project

The project this filter is part of. Should not be null.

setReader

setReader(\Reader $in) 
inherited

Arguments

$in

\Reader

Sets the sorting process will be in ascendant (<code>reverse=false</code>) or to descendant (<code>reverse=true</code>).

setReverse(boolean $reverse) 

Arguments

$reverse

boolean

Boolean representing reverse ordering process.

Move stream position relative to current pos.

skip(integer $n) 
inherited

Arguments

$n

integer

Sorts the read lines (<code>$this->lines</code>) according to the sorting criteria defined by the user.

sort() 

Properties

Parameter name for reverse order.

REVERSE_KEY : 
static

Type(s)

Controls if the sorting process will be in ascendant/descendant order. If If has value <code>true</code>, then the line of the file will be sorted on descendant order. Default value: <code>false</code>. It will be considered only if <code>comparator</code> is <code>null</code>.

reverse : 

Type(s)

Stores the lines to be sorted.

lines : 

Type(s)

The passed in parameter array.

_parameters : array
inherited
var

Type(s)

array

Have the parameters passed been interpreted?

initialized : 
inherited

Type(s)

The Phing project this filter is part of.

project : 
inherited

Type(s)

in

in : \Reader
inherited
var

Type(s)

\Reader