Nickolay - JooseX.Class.SimpleConstructor-0.03

Documentation | Source
Role('JooseX.Class.SimpleConstructor', {
    
    has : {
        forceInstance           : Joose.I.Object
    },
    
    
    
    override : {
        
        defaultConstructor : function () {
            var meta        = this
            var previous    = this.SUPER()
            
            this.adaptConstructor(previous)
            
            return function (forceInstance, params) {
                if (forceInstance == meta.forceInstance) return previous.apply(this, params) || this
                
                return new meta.c(meta.forceInstance, arguments)
            }
        }        
    }

});