Package org.apache.tools.ant.types

# Class Assertions

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Assertions

All Implemented Interfaces:
  `Cloneable`

public class Assertions extends DataType implements Cloneable
The assertion datatype. This type describes assertion settings for the <java> task and others. One can set the system assertions, and enable/disable those in packages and classes. Assertions can only be enabled or disabled when forking Java. Example: set system assertions and all org.apache packages except for ant, and the class org.apache.tools.ant.Main.

     <assertions enableSystemAssertions="true" >
       <enable package="org.apache" />
       <disable package="org.apache.ant" />
       <enable class="org.apache.tools.ant.Main"/>
     </assertions>

Disable system assertions; enable those in the anonymous package

     <assertions enableSystemAssertions="false" >
       <enable package="..." />
     </assertions>

enable assertions in a class called Test

     <assertions >
       <enable class="Test" />
     </assertions>

This type is a datatype, so you can declare assertions and use them later

     <assertions id="project.assertions" >
       <enable project="org.apache.test" />
     </assertions>

     <assertions refid="project.assertions" />

Since:
  Ant 1.6

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`Assertions.BaseAssertion`
base class for our assertion elements.
`static class`
`Assertions.DisabledAssertion`
A disabled assertion disables things
`static class`
`Assertions.EnabledAssertion`
an enabled assertion enables things

## Field Summary

### Fields inherited from class org.apache.tools.ant.types.DataType

`checked, ref`

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

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`Assertions()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addDisable(Assertions.DisabledAssertion assertion)`
disable assertions
`void`
`addEnable(Assertions.EnabledAssertion assertion)`
enable assertions
`void`
`applyAssertions(List<String> commandList)`
add the assertions to a list in a format suitable for adding to a command line
`void`
`applyAssertions(ListIterator<String> commandIterator)`
add the assertions to a list in a format suitable for adding to a command line
`void`
`applyAssertions(CommandlineJava command)`
apply all the assertions to the command.
`Object`
`clone()`
clone the objects.
`void`
`setEnableSystemAssertions(Boolean enableSystemAssertions)`
enable or disable system assertions.
`void`
`setRefid(Reference ref)`
Set the value of the refid attribute.
`int`
`size()`
how many assertions are made...will resolve references before returning

### Methods inherited from class org.apache.tools.ant.types.DataType

`checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes, toString`

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

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

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

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

## Constructor Details

### Assertions

public Assertions()

## Method Details

### addEnable

public void addEnable(Assertions.EnabledAssertion assertion)
enable assertions

Parameters:
  `assertion` - an enable assertion nested element

### addDisable

public void addDisable(Assertions.DisabledAssertion assertion)
disable assertions

Parameters:
  `assertion` - a disable assertion nested element

### setEnableSystemAssertions

public void setEnableSystemAssertions(Boolean enableSystemAssertions)
enable or disable system assertions. Default is not set (neither -enablesystemassertions or -disablesytemassertions are used on the command line).

Parameters:
  `enableSystemAssertions` - if true enable system assertions

### setRefid

public void setRefid(Reference ref)
Set the value of the refid attribute.

Subclasses may need to check whether any other attributes have been set as well or child elements have been created and thus override this method. if they do the must call `super.setRefid`.

Overrides:
  `setRefid` in class `DataType`
Parameters:
  `ref` - the reference to use

### size

public int size()
how many assertions are made...will resolve references before returning

Returns:
  total # of commands to make

### applyAssertions

public void applyAssertions(List<String> commandList)
add the assertions to a list in a format suitable for adding to a command line

Parameters:
  `commandList` - the command line to format

### applyAssertions

public void applyAssertions(CommandlineJava command)
apply all the assertions to the command.

Parameters:
  `command` - the command line to format

### applyAssertions

public void applyAssertions(ListIterator<String> commandIterator)
add the assertions to a list in a format suitable for adding to a command line

Parameters:
  `commandIterator` - list of commands

### clone

public Object clone() throws CloneNotSupportedException
clone the objects. This is not a full depth clone; the list of assertions is cloned, but it does not clone the underlying assertions.

Overrides:
  `clone` in class `DataType`
Returns:
  a cli
Throws:
  `CloneNotSupportedException` - if the super class does not support cloning