001    package nl.tudelft.tbm.eeni.owl2java.model.jmodel;
002    
003    import nl.tudelft.tbm.eeni.owl2java.model.jmodel.utils.NamingUtils;
004    import nl.tudelft.tbm.eeni.owl2java.utils.IName;
005    import nl.tudelft.tbm.eeni.owl2java.utils.IReporting;
006    import org.apache.commons.logging.Log;
007    import org.apache.commons.logging.LogFactory;
008    
009    import java.util.ArrayList;
010    import java.util.List;
011    
012    
013    public class JPackage implements IReporting, IName {
014    
015        private static Log log = LogFactory.getLog(JPackage.class);
016    
017        @SuppressWarnings("unused")
018        private JModel jmodel;
019        private String packageName;
020        private List<JClass> classes = new ArrayList<JClass>();
021    
022        public JPackage(JModel model, String packageName) {
023            this.packageName = packageName;
024            this.jmodel = model;
025        }
026    
027        public JPackage(JModel model, String basePackage, String prefix) {
028            this.packageName = NamingUtils.getJavaPackageName(basePackage, prefix);
029            this.jmodel = model;
030        }
031    
032        public String getJModelReport() {
033            log.warn("JPackage.toReport not implemented");
034            return null;
035        }
036    
037        public String getPackageName() {
038            return packageName;
039        }
040    
041        public String getJavaName() {
042            return packageName;
043        }
044    
045        public void setPackageName(String packageName) {
046            this.packageName = packageName;
047        }
048    
049    
050        public List<JClass> listJClasses() {
051            return classes;
052        }
053    
054        public void addClass(JClass cls) {
055            if (!classes.contains(cls)) {
056                this.classes.add(cls);
057                cls.setPackage(this);
058            }
059        }
060    
061    
062        public String getName() {
063            return getPackageName();
064        }
065    
066    
067    }