Browse Source

Added in sketch of new item set type approach which is generalisation of current system.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268706 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
53ee29f4df
3 changed files with 83 additions and 0 deletions
  1. +28
    -0
      proposal/myrmidon/src/java/org/apache/ant/util/ItemSet.java
  2. +35
    -0
      proposal/myrmidon/src/java/org/apache/ant/util/Mapper.java
  3. +20
    -0
      proposal/myrmidon/src/java/org/apache/ant/util/Scanner.java

+ 28
- 0
proposal/myrmidon/src/java/org/apache/ant/util/ItemSet.java View File

@@ -0,0 +1,28 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.ant.util;

import org.apache.ant.tasklet.DataType;

/**
* Interface for ItemSet.
* An item set contains a number of items. Example item sets include
* PatternSets, FileSets, FilterSets etc.
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
public interface ItemSet
extends DataType
{
/**
* Returns an array containing the items(s) contained within set.
*
* Question: should ItemSet be context sensitive????
*/
Object[] getItems( /* Context context??? */ );
}

+ 35
- 0
proposal/myrmidon/src/java/org/apache/ant/util/Mapper.java View File

@@ -0,0 +1,35 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.ant.util;

import org.apache.ant.tasklet.DataType;

/**
* Interface for Mappers.
* Mappers are responsible for mapping source items to targets items.
* Example mappers will map source files to destination files
* (ie A.java to A.class).
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
* @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
*/
public interface Mapper
extends DataType
{
/**
* Returns an array containing the target items(s) for the
* given source file.
*
* <p>if the given rule doesn't apply to the input item,
* implementation must return null. Scanner will then
* omit the item in question.</p>
*
* @param item the item to be mapped
*/
Object[] mapItem( Object item );
}

+ 20
- 0
proposal/myrmidon/src/java/org/apache/ant/util/Scanner.java View File

@@ -0,0 +1,20 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.ant.util;

import org.apache.avalon.Component;

/**
* Interface for Scanners.
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
public interface Scanner
extends Component
{
}

Loading…
Cancel
Save