From 83dcf695df0e3de7c27b43e07342371918713707 Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Wed, 29 Aug 2001 15:41:45 +0000 Subject: [PATCH] Added TaskContext.createSubContext( String name ) so that it is no longer necessary at all to know the underlying implementation - even when creating container tasks. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269643 13f79535-47bb-0310-9956-ffa450edef68 --- .../myrmidon/api/DefaultTaskContext.java | 20 +++++++++++++++++++ .../org/apache/myrmidon/api/TaskContext.java | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/api/DefaultTaskContext.java b/proposal/myrmidon/src/java/org/apache/myrmidon/api/DefaultTaskContext.java index c2c4d7b4e..bfd0efe3b 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/api/DefaultTaskContext.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/api/DefaultTaskContext.java @@ -173,6 +173,26 @@ public class DefaultTaskContext } } + /** + * Create a Child Context. + * This allows separate hierarchly contexts to be easily constructed. + * + * @param name the name of sub-context + * @return the created TaskContext + * @exception TaskException if an error occurs + */ + public TaskContext createSubContext( final String name ) + throws TaskException + { + final DefaultTaskContext context = new DefaultTaskContext( this ); + + context.setProperty( TaskContext.NAME, getName() + "." + name ); + context.setProperty( TaskContext.BASE_DIRECTORY, getBaseDirectory() ); + context.setProperty( TaskContext.JAVA_VERSION, getJavaVersion() ); + + return context; + } + /** * Make sure property is valid if it is one of the "magic" properties. * diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java b/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java index 988086138..8ed197e83 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java @@ -103,8 +103,8 @@ public interface TaskContext * @return the created TaskContext * @exception TaskException if an error occurs */ - //TaskContext createSubContext( String name ) - //throws TaskException; + TaskContext createSubContext( String name ) + throws TaskException; /** * Safe wrapper class for Scope enums.