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