de.enough.polish.ant.requirements
Class RequirementContainer

java.lang.Object
  extended by de.enough.polish.ant.requirements.RequirementContainer
All Implemented Interfaces:
DeviceFilter
Direct Known Subclasses:
AndRelation, NotRelation, OrRelation, XorRelation

public abstract class RequirementContainer
extends Object
implements DeviceFilter

Represents an "AND", "OR", "XOR" and "NOT" relation between several requirements.

Copyright Enough Software 2004 - 2011

Author:
Robert Virkus, robert@enough.de

Field Summary
protected  List<String> requiredIdentifiers
           
 
Constructor Summary
RequirementContainer()
          Creates a new empty container
RequirementContainer(Map buildProperties)
          Creates a new device requirements list.
 
Method Summary
protected  void add(DeviceFilter filter)
           
 void addConfiguredAnd(AndRelation andRelation)
           
 void addConfiguredNand(NotRelation notRelation)
           
 void addConfiguredNot(NotRelation notRelation)
           
 void addConfiguredOr(OrRelation orRelation)
           
 void addConfiguredRequirement(Variable req)
           
 void addConfiguredXor(XorRelation xorRelation)
           
 void addRequirement(Requirement requirement)
           
 DeviceFilter[] getFilters()
           
 List<String> getRequiredIdentifiers()
          Retrieves a list of the required device identifiers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.enough.polish.ant.requirements.DeviceFilter
isMet
 

Field Detail

requiredIdentifiers

protected List<String> requiredIdentifiers
Constructor Detail

RequirementContainer

public RequirementContainer(Map buildProperties)
Creates a new device requirements list.

Parameters:
buildProperties - the build properties

RequirementContainer

public RequirementContainer()
Creates a new empty container

Method Detail

add

protected void add(DeviceFilter filter)

addConfiguredRequirement

public void addConfiguredRequirement(Variable req)

addRequirement

public void addRequirement(Requirement requirement)

addConfiguredAnd

public void addConfiguredAnd(AndRelation andRelation)

addConfiguredOr

public void addConfiguredOr(OrRelation orRelation)

addConfiguredNot

public void addConfiguredNot(NotRelation notRelation)

addConfiguredNand

public void addConfiguredNand(NotRelation notRelation)

addConfiguredXor

public void addConfiguredXor(XorRelation xorRelation)

getFilters

public DeviceFilter[] getFilters()

getRequiredIdentifiers

public List<String> getRequiredIdentifiers()
Retrieves a list of the required device identifiers. This is a special case that allows a faster time for reading the device database, since only those devices need to be read that have the wanted identifier.

Returns:
a list of the required identifiers when only <identifier> requirements are used, otherwise null.