⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicrenderer.java

📁 人力资源管理系统主要包括:人员管理、招聘管理、培训管理、奖惩管理和薪金管理五大管理模块。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//$Id: BasicRenderer.java,v 1.7 2003/09/27 11:17:10 maxcsaucdk Exp $package net.sf.hibernate.tool.hbm2java;import java.io.PrintWriter;import java.io.Serializable;import java.io.StringWriter;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import net.sf.hibernate.util.StringHelper;public class BasicRenderer extends AbstractRenderer {		static final protected int ORDINARY = 0;	static final protected int BOUND = 1;	static final protected int CONSTRAINT = 3;//any constraint properties are bound as well 	public void render(String savedToPackage, String savedToClass, ClassMapping classMapping, Map class2classmap, PrintWriter mainwriter) throws Exception {        genPackageDelaration(savedToPackage, classMapping, mainwriter);        mainwriter.println();            // switch to another writer to be able to insert the actually        // used imports when whole class has been rendered.         StringWriter strWriter = new StringWriter();        PrintWriter writer = new PrintWriter(strWriter);                    // class declaration        if(classMapping.getMeta("class-description")==null) {            writer.println("/** @author Hibernate CodeGenerator */");        } else {            writer.println("/** \n" + toJavaDoc(classMapping.getMetaAsString("class-description"),0)  + "*/");           }                String classScope = "public";        if(classMapping.getMeta("scope-class")!=null) {            classScope = classMapping.getMetaAsString("scope-class").trim();        }        String declarationType = null;        if(classMapping.isInterface()) {        	declarationType = "interface";        } else {			declarationType = "class";        }        if(classMapping.shouldBeAbstract() && (classScope.indexOf("abstract")==-1)) {            writer.print( "abstract " + classScope + " " + declarationType + " " + savedToClass );        } else {            writer.print( classScope +  " " + declarationType + " " + savedToClass );            }            // subclasses/interfaces        String superClass = classMapping.getSuperClass();		Set interfaces = new HashSet();	        		if(!classMapping.isInterface()) {		  	if(superClass!=null) {				writer.print( " extends " + superClass);		  	} else if (classMapping.getMeta("extends")!=null) {				writer.print( " extends " + classMapping.getMetaAsString("extends"));			}			if (classMapping.getMeta("implements")!=null) {							interfaces.addAll(classMapping.getMeta("implements"));			}			interfaces.add(Serializable.class.getName());			classMapping.addImport(Serializable.class.getName());			 		} else { // class is an interface			if(classMapping.getSuperClass()!=null) {				interfaces.add(superClass);			}			if (classMapping.getMeta("extends")!=null) {				interfaces.addAll(classMapping.getMeta("extends"));			}		}            	// implement proxy, but NOT if the proxy is the class it self!    	if (classMapping.getProxy()!=null &&     		( !classMapping.getProxy().equals( classMapping.getCanonicalName() ) )) {        	interfaces.add(classMapping.getProxy());        }                if(interfaces.size()>0) {        	if(!classMapping.isInterface()) {        		writer.print(" implements ");         	} else {				writer.print(" extends ");        	}			for (Iterator iter = interfaces.iterator(); iter.hasNext();) {								writer.print(shortenType(iter.next().toString(), classMapping.getImports()));				if(iter.hasNext()) writer.print(",");			}		        }                 writer.println(" {");        writer.println();                // switch to another writer to be able to insert the         // veto- and changeSupport fields        StringWriter strPropWriter = new StringWriter();        PrintWriter propWriter = new PrintWriter(strPropWriter);		if(!classMapping.isInterface()) {        	doFields(classMapping, class2classmap, propWriter);		        	doConstructors(savedToClass, classMapping, class2classmap, propWriter);		}		        String vetoSupport = makeSupportField("vetos", classMapping.getAllFields());        String changeSupport = makeSupportField("changes", classMapping.getAllFields());            int fieldTypes = doFieldAccessors(classMapping, class2classmap, propWriter, vetoSupport, changeSupport);             	if(!classMapping.isInterface()) {        	doSupportMethods(fieldTypes, vetoSupport, changeSupport, propWriter);                    	doToString(classMapping, propWriter);        	       	doEqualsAndHashCode(savedToClass,classMapping, propWriter);     	}     		        propWriter.println("}");                //insert change and VetoSupport        if(!classMapping.isInterface()) {        	doSupports(fieldTypes, classMapping, vetoSupport, changeSupport, writer);        }                writer.print(strPropWriter.toString());                // finally write the imports        doImports(classMapping, mainwriter);        mainwriter.print(strWriter.toString());                    }	/**	 * Method doSupportMethods.	 * @param fieldTypes	 * @param vetoSupport	 * @param changeSupport	 * @param propWriter	 */	private void doSupportMethods(		int fieldTypes,		String vetoSupport,		String changeSupport,		PrintWriter writer) {			if((fieldTypes&CONSTRAINT)==CONSTRAINT) {				writer.println("    public void addVetoableChangeListener( VetoableChangeListener l ) {");				writer.println("        "+vetoSupport+".addVetoableChangeListener(l);");				writer.println("    }");				writer.println("    public void removeVetoableChangeListener( VetoableChangeListener l ) {");				writer.println("        "+vetoSupport+".removeVetoableChangeListener(l);");				writer.println("    }");				writer.println();			}			if((fieldTypes&BOUND)==BOUND) {				writer.println("    public void addPropertyChangeListener( PropertyChangeListener l ) {");				writer.println("        "+changeSupport+".addPropertyChangeListener(l);");				writer.println("    }");				writer.println("    public void removePropertyChangeListener( PropertyChangeListener l ) {");				writer.println("        "+changeSupport+".removePropertyChangeListener(l);");				writer.println("    }");				writer.println();			}	}	/**	 * Method doSupports.	 * @param vetoSupport	 * @param changeSupport	 * @param writer	 */	private void doSupports( int fieldTypes, 											ClassMapping classMapping,											String vetoSupport,											String changeSupport,											PrintWriter writer) {			if((fieldTypes&CONSTRAINT)==CONSTRAINT) {				writer.println( "    private VetoableChangeSupport "+vetoSupport+					" = new VetoableChangeSupport(this);" );				classMapping.getImports().add("java.beans.VetoableChangeSupport");				classMapping.getImports().add("java.beans.PropertyVetoException");				classMapping.getImports().add("java.beans.VetoableChangeListener");			}			if((fieldTypes&BOUND)==BOUND) {				writer.println( "    private PropertyChangeSupport "+changeSupport+					" = new PropertyChangeSupport(this);" );				writer.println();				classMapping.getImports().add("java.beans.PropertyChangeSupport");				classMapping.getImports().add("java.beans.PropertyChangeListener");			}	}	public void doConstructors(String savedToClass, ClassMapping classMapping, Map class2classmap, PrintWriter writer) {		// full constructor		List allFieldsForFullConstructor = classMapping.getAllFieldsForFullConstructor();				writer.println("    /** full constructor */");		String fullCons = "    public " + savedToClass + StringHelper.OPEN_PAREN;						for(Iterator fields = allFieldsForFullConstructor.iterator(); fields.hasNext();) {		    Field field = (Field) fields.next();		        fullCons = fullCons + shortenType(getTrueTypeName(field, class2classmap), classMapping.getImports()) + " " + field.getName();		        if(fields.hasNext()) {		          fullCons = fullCons + ", ";		        }		}				writer.println(fullCons + ") {");		//invoke super to initialize superclass...		List supersConstructorFields = classMapping.getFieldsForSupersFullConstructor();		if (!supersConstructorFields.isEmpty()) {		    writer.print("        super(");		    for (Iterator fields = supersConstructorFields.iterator(); fields.hasNext();) {		        Field field = (Field) fields.next();		        writer.print(field.getName());		        if(fields.hasNext()) {		            writer.print(", ");		        }		    }		    writer.println(");");		}				// initialisation of localfields		for(Iterator fields = classMapping.getLocalFieldsForFullConstructor().iterator(); fields.hasNext();) {		    Field field = (Field) fields.next();		    if(field.isGeneratedAsProperty()) {		    	writer.println("        this." + field.getName() + " = " + field.getName() + ";");		    }		}		writer.println("    }");		writer.println();				// no args constructor (if fullconstructor had any arguments!)		if (allFieldsForFullConstructor.size() > 0) {		    writer.println("    /** default constructor */");			writer.println("    public " + savedToClass + "() {");			writer.println("    }");			writer.println();		}				// minimal constructor (only if the fullconstructor had any arguments)		if ((allFieldsForFullConstructor.size() > 0) && classMapping.needsMinimalConstructor()) {				    List allFieldsForMinimalConstructor = classMapping.getAllFieldsForMinimalConstructor();		    writer.println("    /** minimal constructor */"); 				    String minCons = "    public " + savedToClass + "(";		    for (Iterator fields = allFieldsForMinimalConstructor.iterator(); fields.hasNext();) {		        Field field = (Field) fields.next();		        minCons = minCons + shortenType(getTrueTypeName(field, class2classmap), classMapping.getImports()) + " " + field.getName();		        if (fields.hasNext()) {		            minCons = minCons + ", ";		        }		    }				    writer.println(minCons + ") {");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -