Skip to content

Latest commit

 

History

History
14 lines (10 loc) · 1.11 KB

File metadata and controls

14 lines (10 loc) · 1.11 KB
  1. summary What is SmartWroModelFactory and why it is useful

Introduction

Starting with 1.4.0 release, wro4j provides 3 types of DSL for building WroModel: xml, groovy & json.

SmartWroModelFactory was created in order to simplify the way you can use any of existing DSL.

Details

SmartWroModelFactory uses a composite pattern and tries to create WroModel based on provided stream using all existing DSL. The flow is:

    # Use [WroFileFormat XmlModelFactory] to create model. If creation fails, go to next step.
    # Use [GroovyWroModel GroovyModelFactory] to create model. If creation fails, go to next step.
    # Use [JsonWroModel JsonModelFactory] to create model. If creation fails, the overall model creation fails.

This !WroModelFactory is used by default by !BaseWroManager. As a result, you can easily switch between xml to groovy DSL, just by replacing wro.xml with wro.groovy. Similar applies to json DSL, which expects a file named wro.json. The file name autodetection works only if you do not explicitly specify the name of the wro file. Otherwise, it will use only the specified file to build the WroModel.