Subversion Repositories SmartDukaan

Rev

Rev 24 | Rev 33 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.metamodel.util;

import in.shop2020.metamodel.definitions.BulletDefinition;
import in.shop2020.metamodel.definitions.Catalog;
import in.shop2020.metamodel.definitions.DatatypeDefinition;
import in.shop2020.metamodel.definitions.DefinitionsContainer;
import in.shop2020.metamodel.definitions.Unit;
import in.shop2020.util.Utils;

/**
 * @author naveen
 *
 */
public class ExpandedBulletDefinition extends BulletDefinition {
        
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        
        private DatatypeDefinition datatypeDefinition ; 
        private Unit unit;

        /**
         * @param datatypeDefinitionID
         * @throws Exception 
         */
        public ExpandedBulletDefinition(BulletDefinition bulletDefinition) 
                throws Exception {
                super(bulletDefinition.getDatatypeDefinitionID());
                
                // Copy rest of the properties
                this.setDescription(bulletDefinition.getDescription());
                this.setUnitID(bulletDefinition.getUnitID());
                
                DefinitionsContainer defs = 
                        Catalog.getInstance().getDefinitionsContainer();
                
                // Expand data type definition id
                this.datatypeDefinition = defs.getDatatypeDefinition(
                                bulletDefinition.getDatatypeDefinitionID());
                
                Utils.logger.info("datatypeDefinition.getClass().getName=" + 
                                this.datatypeDefinition.getClass().getName());
                
                // Expand unit id
                if(bulletDefinition.getUnitID() != 0L) {
                        this.unit = defs.getUnit(bulletDefinition.getUnitID());
                }
        }

        /**
         * @return the datatypeDefinition
         */
        public DatatypeDefinition getDatatypeDefinition() {
                return this.datatypeDefinition;
        }

        /**
         * @return the unit
         */
        public Unit getUnit() {
                return this.unit;
        }

}