Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

FirstClassImport.java

Go to the documentation of this file.
00001 
00058 package com.arcle.rmt.j2se.bridge.swimport.rqml;
00059 
00060 import com.arcle.rmt.j2se.bridge.swimport.FirstClassImporter;
00061 import com.arcle.rmt.j2se.bridge.copy.CopierFacade;
00062 import com.arcle.rmt.rqml.RQMLFirstClass;
00063 import com.arcle.rmt.superwaba.model.Document;
00064 import com.arcle.rmt.j2se.model.RQMLDocument;
00065 
00073 public abstract class FirstClassImport implements FirstClassImporter {
00074 
00089     public boolean importFirstClass(Document srcDoc, RQMLDocument dstDoc) {
00090         int numElems = getTotalElements(srcDoc);
00091         boolean ok = true;
00092         for (int i=0; i<numElems; i++) {
00093             RQMLFirstClass srcElem = getElementAt(i, srcDoc);
00094             RQMLFirstClass dstElem = createDestinationElement(dstDoc);
00095             ok &= copyElement(srcElem, dstElem);
00096         }
00097         return ok;
00098     }
00099 
00104     public String toString() {
00105         return getClass().toString() + " (importer for '"
00106             + getSupportedClass().toString() + "') ";
00107     }
00108 
00116     protected boolean copyElement(RQMLFirstClass src, RQMLFirstClass dst) {
00117         return CopierFacade.getInstance().copy(getSupportedClass(), src, dst);
00118     }
00119 
00120     //-----------------------------------------------------------------------
00121     // Abstract Strategy Methods
00122 
00132     protected abstract Class getSupportedClass();
00133 
00141     protected abstract int getTotalElements(Document doc);
00142 
00151     protected abstract RQMLFirstClass getElementAt(int index, Document srcDoc);
00152 
00160     protected abstract RQMLFirstClass createDestinationElement(RQMLDocument doc);
00161 }

Generated on Fri Jun 18 19:51:20 2004 for Arcle Rambutan by doxygen 1.3.5