@@ -0,0 +1,2471 @@
+/*%0A*    jETeL/Clover - Java based ETL application framework.%0A*    Copyright (C) 2002-04  David Pavlis %3Cdavid_pavlis@hotmail.com%3E%0A*    %0A*    This library is free software; you can redistribute it and/or%0A*    modify it under the terms of the GNU Lesser General Public%0A*    License as published by the Free Software Foundation; either%0A*    version 2.1 of the License, or (at your option) any later version.%0A*    %0A*    This library is distributed in the hope that it will be useful,%0A*    but WITHOUT ANY WARRANTY; without even the implied warranty of%0A*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    %0A*    Lesser General Public License for more details.%0A*    %0A*    You should have received a copy of the GNU Lesser General Public%0A*    License along with this library; if not, write to the Free Software%0A*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA%0A*%0A*/%0Apackage org.jetel.component;%0A%0Aimport org.jetel.plugin.Extension;%0A%0A/**%0A * @author Martin Zatopek%0A *%0A */%0Apublic class ComponentDescription %7B%0A%0A    public final static String EXTENSION_POINT_ID = %22component%22;%0A    private final static String TYPE = %22type%22;%0A    private final static String CLASS = %22className%22;%0A%0A    %0A%09private String type;%0A%09%0A%09private String className;%0A%09%0A    private ClassLoader classLoader;%0A    %0A%09public ComponentDescription(String componentType, String className, ClassLoader classLoader) %7B%0A%09%09this.type = componentType;%0A%09%09this.className = className;%0A        this.classLoader = classLoader;%0A%09%7D%0A%0A    public ComponentDescription(Extension componentExtension) %7B%0A        if(!componentExtension.getPointId().equals(EXTENSION_POINT_ID)) %7B%0A            throw new IllegalArgumentException();%0A        %7D%0A        this.type = componentExtension.getParameter(TYPE);%0A        this.className = componentExtension.getParameter(CLASS);%0A        this.classLoader = componentExtension.getPlugin().getClassLoader();%0A        if(type == null %7C%7C className == null) %7B%0A            throw new IllegalArgumentException();%0A        %7D%0A    %7D%0A%0A%09public String getClassName() %7B%0A%09%09return className;%0A%09%7D%0A%0A%09public String getType() %7B%0A%09%09return type;%0A%09%7D%0A%09%0A%09public void setClassName(String className) %7B%0A%09%09this.className = className;%0A%09%7D%0A%09%0A%09public void setType(String componentType) %7B%0A%09%09this.type = componentType;%0A%09%7D%0A%0A    public ClassLoader getClassLoader() %7B%0A        return classLoader;%0A    %7D%0A%0A    public void setClassLoader(ClassLoader classLoader) %7B%0A        this.classLoader = classLoader;%0A    %7D%0A%7D%0A

Test copy of ComponentDescription.java between two directories - with history.