//
//  ClassLoaders.java
//  
//
//  Created by Gene Davis on Sat Aug 18 2001.
//  Copyright (c) 2001 Gene Davis. I hereby release this code to the public domain.
//  It is now in every sense of the word Freeware. Future versions can be found
//  at http://www.genedavis.com/library/
//
//  version 1.0

package com.genedavis.util;

import java.io.*;
import java.util.*;

public class ClassLoaders extends ClassLoader{
    public Object loadClassFromFile(String className, File classFile) {
        Object returnValue = null;
        try {
            byte[] newClass =  null;
            
            FileInputStream fis = new FileInputStream(classFile);
            
            int nextByte = 0;
            Vector vic = new Vector();
            do {
                nextByte = fis.read();
                if (nextByte != -1) vic.add(new Byte( (byte) nextByte ));
            } while(nextByte != -1);
            
            newClass = new byte[vic.size()];
            for(int z=0; z<vic.size();z++) {
                newClass[z] = ((Byte) vic.get(z)).byteValue();
            }
            
            returnValue = (this).defineClass(className, newClass, 0, newClass.length).newInstance();
        } catch (Exception e) {}
        return returnValue;
    }
}
