01: /*
02: * Copyright (c) 1998 - 2005 Versant Corporation
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * Versant Corporation - initial API and implementation
10: */
11: package com.versant.core.compiler;
12:
13: import java.util.Map;
14: import java.util.Collection;
15:
16: /**
17: * Something that will take a Map of fully qualified name -> src code and
18: * return a Map of fully qualified name -> bytecode for each class.
19: */
20: public interface ClassCompiler {
21:
22: /**
23: * Compile each class in classMap and return a corresponding bytecode.
24: *
25: * @param classMap Fully qualified class name -> source code
26: * @param loader Use this to load referenced classes
27: * @return Map of class name -> byte[] containing bytecode
28: */
29: public Map compile(Map classMap, ClassLoader loader);
30:
31: }
|