Package org.apache.tools.ant.taskdefs

# Class Tstamp

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Tstamp

All Implemented Interfaces:
  `Cloneable`

public class Tstamp extends Task
Sets properties to the current time, or offsets from the current time. The default properties are TSTAMP, DSTAMP and TODAY;

Since:
  Ant 1.1

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`Tstamp.CustomFormat`
This nested element that allows a property to be set to the current date and time in a given format.
`static class`
`Tstamp.Unit`
set of valid units to use for time offsets.

## Field Summary

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`Tstamp()`

## Method Summary

Modifier and Type
Method
Description
`Tstamp.CustomFormat`
`createFormat()`
create a custom format with the current prefix.
`void`
`execute()`
create the timestamps.
`protected Date`
`getNow()`
Return the `Date` instance to use as base for DSTAMP, TSTAMP and TODAY.
`protected Optional<Date>`
`getNow(String propertyName, Function<String,Date> map, BiFunction<String,String,String> log)`
Checks and returns a Date if the specified property is set.
`void`
`setPrefix(String prefix)`
Set a prefix for the properties.

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Tstamp

public Tstamp()

## Method Details

### setPrefix

public void setPrefix(String prefix)
Set a prefix for the properties. If the prefix does not end with a "." one is automatically added.

Parameters:
  `prefix` - the prefix to use.
Since:
  Ant 1.5

### execute

public void execute() throws BuildException
create the timestamps. Custom ones are done before the standard ones, to get their retaliation in early.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - on error.

### createFormat

public Tstamp.CustomFormat createFormat()
create a custom format with the current prefix.

Returns:
  a ready to fill-in format

### getNow

protected Date getNow()
Return the `Date` instance to use as base for DSTAMP, TSTAMP and TODAY.

Returns:
  Date

### getNow

protected Optional<Date> getNow(String propertyName, Function<String,Date> map, BiFunction<String,String,String> log)
Checks and returns a Date if the specified property is set.

Parameters:
  `propertyName` - name of the property to check
  `map` - conversion of the property value as string to Date
  `log` - supplier of the log message containing the property name and value if the conversion fails
Returns:
  Optional containing the Date or null