Browse Source

Remove old attempt at generalizing the converter architecture

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271464 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 23 years ago
parent
commit
93e26b06b1
5 changed files with 0 additions and 184 deletions
  1. +0
    -82
      proposal/myrmidon/src/java/org/apache/aut/converter/AbstractConverter.java
  2. +0
    -34
      proposal/myrmidon/src/java/org/apache/aut/converter/Converter.java
  3. +0
    -24
      proposal/myrmidon/src/java/org/apache/aut/converter/ConverterContext.java
  4. +0
    -42
      proposal/myrmidon/src/java/org/apache/aut/converter/ConverterException.java
  5. +0
    -2
      proposal/myrmidon/src/java/org/apache/aut/converter/Resources.properties

+ 0
- 82
proposal/myrmidon/src/java/org/apache/aut/converter/AbstractConverter.java View File

@@ -1,82 +0,0 @@
/*
* 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.txt file.
*/
package org.apache.aut.converter;

import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;

/**
* Instances of this interface are used to convert between different types.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$
*/
public abstract class AbstractConverter
implements Converter
{
private final static Resources REZ =
ResourceManager.getPackageResources( AbstractConverter.class );

private final Class m_source;
private final Class m_destination;

/**
* Constructor for a converter between types source and destination
*
* @param source the source type
* @param destination the destination type
*/
public AbstractConverter( final Class source, final Class destination )
{
m_source = source;
m_destination = destination;
}

/**
* Convert an object from original to destination types
*
* @param destination the destination type
* @param original the original Object
* @param context the context in which to convert
* @return the converted object
* @exception ConverterException if an error occurs
*/
public Object convert( final Class destination,
final Object original,
final ConverterContext context )
throws ConverterException
{
if( m_destination != destination )
{
final String message =
REZ.getString( "bad-destination.error", destination.getName(), m_destination );
throw new IllegalArgumentException( message );
}

if( !m_source.isInstance( original ) )
{
final String message =
REZ.getString( "bad-instance.error", original, m_source.getName() );
throw new IllegalArgumentException( message );
}

return convert( original, context );
}

/**
* Overide this in a particular converter to do the conversion.
*
* @param original the original Object
* @param context the context in which to convert
* @return the converted object
* @exception ConverterException if an error occurs
*/
protected abstract Object convert( Object original, ConverterContext context )
throws ConverterException;
}


+ 0
- 34
proposal/myrmidon/src/java/org/apache/aut/converter/Converter.java View File

@@ -1,34 +0,0 @@
/*
* 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.txt file.
*/
package org.apache.aut.converter;

/**
* Instances of this interface are used to convert between different types.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$
* @ant:role shorthand="converter"
*/
public interface Converter
{
String ROLE = Converter.class.getName();

/**
* Convert original to destination type.
* Destination is passed so that one converter can potentiall
* convert to multiple different types.
*
* @param destination the destinaiton type
* @param original the original type
* @param context the context in which to convert
* @return the converted object
* @exception ConverterException if an error occurs
*/
Object convert( Class destination, Object original, ConverterContext context )
throws ConverterException;
}

+ 0
- 24
proposal/myrmidon/src/java/org/apache/aut/converter/ConverterContext.java View File

@@ -1,24 +0,0 @@
/*
* 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.txt file.
*/
package org.apache.aut.converter;

/**
* The context in which objects can be converted from one type to another type.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$
* @ant:role shorthand="converter"
*/
public interface ConverterContext
{
/**
* Retrieve a vlaue from the context with the specified key.
* Will return null if no such value exists.
*/
Object get( Object key );
}

+ 0
- 42
proposal/myrmidon/src/java/org/apache/aut/converter/ConverterException.java View File

@@ -1,42 +0,0 @@
/*
* 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.txt file.
*/
package org.apache.aut.converter;

import org.apache.avalon.framework.CascadingException;

/**
* ConverterException thrown when a problem occurs during convertion etc.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$
*/
public class ConverterException
extends CascadingException
{
/**
* Basic constructor with a message
*
* @param message the message
*/
public ConverterException( final String message )
{
this( message, null );
}

/**
* Constructor that builds cascade so that other exception information can be retained.
*
* @param message the message
* @param throwable the throwable
*/
public ConverterException( final String message, final Throwable throwable )
{
super( message, throwable );
}
}


+ 0
- 2
proposal/myrmidon/src/java/org/apache/aut/converter/Resources.properties View File

@@ -1,2 +0,0 @@
bad-destination.error=Destination type ({0}) is not equal to {1}.
bad-instance.error=Object {0} is not an instance of {1}.

Loading…
Cancel
Save