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:
  java.lang.Cloneable

    public class Assertions
    extends DataType
    implements java.lang.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
`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 and Description
`Assertions()`

### Method Summary

Methods
`void` `addDisable(Assertions.DisabledAssertion assertion)` disable assertions
`void` `addEnable(Assertions.EnabledAssertion assertion)` enable assertions
`void` `applyAssertions(CommandlineJava command)` apply all the assertions to the command.
`void` `applyAssertions(java.util.List<java.lang.String> commandList)` add the assertions to a list in a format suitable for adding to a command line
`void` `applyAssertions(java.util.ListIterator<java.lang.String> commandIterator)` add the assertions to a list in a format suitable for adding to a command line
`java.lang.Object` `clone()` clone the objects.
`void` `setEnableSystemAssertions(java.lang.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, 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 Detail

#### Assertions

    public Assertions()

### Method Detail

#### 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(java.lang.Boolean enableSystemAssertions)

enable or disable system assertions. Default is not set (neither -enablesystemassersions 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(java.util.List<java.lang.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(java.util.ListIterator<java.lang.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 java.lang.Object clone()
                           throws java.lang.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:
  `java.lang.CloneNotSupportedException` - if the super class does not support cloning