Update of /cvsroot/xdoclet/generama/src/main/java/org/generama/defaults
In directory sc8-pr-cvs1:/tmp/cvs-serv26610/src/main/java/org/generama/defaults

Added Files:
        AbstractJavaGeneratingPlugin.java FileWriterMapper.java 
        StringWriterMapper.java 
Removed Files:
        SystemOutWriterMapper.java 
Log Message:
More refactorings, closer to a release

--- NEW FILE: AbstractJavaGeneratingPlugin.java ---
package org.generama.defaults;

import org.generama.VelocityPlugin;
import org.generama.PluginContainer;
import org.generama.WriterMapper;
import org.generama.velocity.VelocityComponent;

/**
 * @author Aslak Hellesøy
 * @version $Revision: 1.1 $
 */
public abstract class AbstractJavaGeneratingPlugin extends VelocityPlugin {

    protected AbstractJavaGeneratingPlugin(VelocityComponent velocityComponent, 
PluginContainer generama, WriterMapper writerMapper) {
        super(velocityComponent, generama, writerMapper);
    }
}

--- NEW FILE: FileWriterMapper.java ---
package org.generama.defaults;

import org.generama.WriterMapper;
import org.generama.Plugin;

import java.io.Writer;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.MessageFormat;

/**
 * @author Aslak Hellesøy
 * @version $Revision: 1.1 $
 */
public abstract class FileWriterMapper implements WriterMapper {
    public Writer getWriter(Object metadata, Plugin plugin) throws IOException {
        String pakkage = plugin.getDestinationPackage(metadata);

        String packagePath = pakkage.replace('.', '/');
        File dir = new File(plugin.getDestdir(), packagePath);
        dir.mkdirs();

        String filename = getFilenameFor(metadata, plugin);
        File out = new File(dir, filename);
        return new FileWriter(out);
    }

    private String getFilenameFor(Object metadata, Plugin plugin) {
        String replaceValue = getFileReplaceValue(metadata);
        String filenamePattern = plugin.getFilename();
        String result = MessageFormat.format(filenamePattern, new 
String[]{replaceValue});
        return result;
    }

    protected abstract String getFileReplaceValue(Object metadata);
}

--- NEW FILE: StringWriterMapper.java ---
package org.generama.defaults;

import org.generama.WriterMapper;
import org.generama.Plugin;

import java.io.Writer;
import java.io.StringWriter;

/**
 * 
 * @author Aslak Hellesøy
 * @version $Revision: 1.1 $
 */
public class StringWriterMapper implements WriterMapper {
    public Writer getWriter(Object metadata, Plugin plugin) {
        return new StringWriter();
    }
}

--- SystemOutWriterMapper.java DELETED ---



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to