code: public void setScriptFile(final String scriptFile) {
          this.scriptFile = scriptFile;
          this.scriptType = determineScriptType(scriptFile);
          if (scriptType != SCRIPT_TYPE.CONTENTS) {
              // assume that if adjusting the file, engine name should also be re-calc'd
              // if scriptType is CONTENTS then we can't determine engineName anyway
              this.engineName = getScriptEngineName(scriptFile);
          }
      }
docs: this object would be better if engineName and scriptFile couldn't change