Break Continue Statement

Code Result
@for (int i = 0; i < 5; ++i) {
    <p>Current number is: @i</p>
    @if (i > 2) {
        @break
    }
    <p>Next number is: @(i + 1)</p>
}

Current number is: 0

Next number is: 1

Current number is: 1

Next number is: 2

Current number is: 2

Next number is: 3

Current number is: 3

@for (int i = 0; i < 5; ++i) {
    <p>Current number is: @i</p>
    @if (i < 2) {
        @continue
    }
    <p>Next number is: @(i + 1)</p>
}

Current number is: 0

Current number is: 1

Current number is: 2

Next number is: 3

Current number is: 3

Next number is: 4

Current number is: 4

Next number is: 5

We can also use an array of integers: @{Integer[] ia = {1, 2, 3, 4, 5}}

Code Result
@for (Integer i : ia) {
    <p>Current number is: @i</p>
    @if (i > 2) {
        @break
    }
    <p>Next number is: @(i + 1)</p>
}

Current number is: 1

Next number is: 2

Current number is: 2

Next number is: 3

Current number is: 3

@for (Integer i : ia) {
    <p>Current number is: @i</p>
    @if (i < 2) {
        @continue
    }
    <p>Next number is: @(i + 1)</p>
}

Current number is: 1

Current number is: 2

Next number is: 3

Current number is: 3

Next number is: 4

Current number is: 4

Next number is: 5

Current number is: 5

Next number is: 6

Template Source
@extends(main)
@set(title:"Break Continue Statement")

<div>
    <h2>@get("title") <small></small></h2>
</div>

<table class="table code-section">
    <thead>
        <th class="span6">Code</th>
        <th>Result</th>
    </thead>
    <tbody>
        <tr>
            <td>
                <pre class="prettyprint linenums">@verbatim() {@for (int i = 0; i < 5; ++i) {
    <p>Current number is: @i</p>
    @if (i > 2) {
        @break
    }
    <p>Next number is: @(i + 1)</p>
}}</pre>
            </td>
            <td>
                @for (int i = 0; i < 5; ++i) {
                    <p>Current number is: @i</p>
                    @if (i > 2) {
                        @break
                    }
                    <p>Next number is: @(i + 1)</p>
                }
            </td>
        </tr>
        <tr>
            <td>
                <pre class="prettyprint linenums">@verbatim() {@for (int i = 0; i < 5; ++i) {
    <p>Current number is: @i</p>
    @if (i < 2) {
        @continue
    }
    <p>Next number is: @(i + 1)</p>
}}</pre>
            </td>
            <td>
                @for (int i = 0; i < 5; ++i) {
                    <p>Current number is: @i</p>
                    @if (i < 2) {
                        @continue
                    }
                    <p>Next number is: @(i + 1)</p>
                }
            </td>
        </tr>
    </tbody>
</table>

<div>
    <p>We can also use an array of integers: <code>@verbatim() {@{Integer[] ia = {1, 2, 3, 4, 5}}}</code></p>
</div>
@{Integer[] ia = {1, 2, 3, 4, 5}}
<table class="table code-section">
    <thead>
        <th class="span6">Code</th>
        <th>Result</th>
    </thead>
    <tbody>
        <tr>
            <td>
                <pre class="prettyprint linenums">@verbatim() {@for (Integer i : ia) {
    <p>Current number is: @i</p>
    @if (i > 2) {
        @break
    }
    <p>Next number is: @(i + 1)</p>
}}</pre>
            </td>
            <td>
                @for (Integer i : ia) {
                    <p>Current number is: @i</p>
                    @if (i > 2) {
                        @break
                    }
                    <p>Next number is: @(i + 1)</p>
                }
            </td>
        </tr>
        <tr>
            <td>
                <pre class="prettyprint linenums">@verbatim() {@for (Integer i : ia) {
    <p>Current number is: @i</p>
    @if (i < 2) {
        @continue
    }
    <p>Next number is: @(i + 1)</p>
}}</pre>
            </td>
            <td>
                @for (Integer i : ia) {
                    <p>Current number is: @i</p>
                    @if (i < 2) {
                        @continue
                    }
                    <p>Next number is: @(i + 1)</p>
                }
            </td>
        </tr>
    </tbody>
</table>

@include(tmpl_src)
Java Source (Rythm Generated)
import play.templates.JavaExtensions;
import controllers.*;
import models.*;
import java.util.*;
import java.io.*;

public class app_rythm_Demo_testBreakContinue_html__R_T_C__ extends app_rythm_main_html__R_T_C__ {//<extended_resource_key>/app/rythm/main.html</extended_resource_key>

	@Override public java.lang.String getName() {
		return "Demo.testBreakContinue";
	}

	@Override protected void setup() {
		if (flash == null) {flash=(play.mvc.Scope.Flash)_get("flash");}
		if (error_index == null) {error_index=(Integer)_get("error_index");}
		if (error == null) {error=(play.data.validation.Error)_get("error");}
		if (params == null) {params=(play.mvc.Scope.Params)_get("params");}
		if (lang == null) {lang=(java.lang.String)_get("lang");}
		if (messages == null) {messages=(play.i18n.Messages)_get("messages");}
		if (error_isFirst == null) {error_isFirst=(Boolean)_get("error_isFirst");}
		if (errors == null) {errors=(java.util.List<play.data.validation.Error>)_get("errors");}
		if (error_isLast == null) {error_isLast=(Boolean)_get("error_isLast");}
		if (session == null) {session=(play.mvc.Scope.Session)_get("session");}
		if (request == null) {request=(play.mvc.Http.Request)_get("request");}
		if (_rythmPlugin == null) {_rythmPlugin=(com.greenlaw110.rythm.play.RythmPlugin)_get("_rythmPlugin");}
		if (_response_encoding == null) {_response_encoding=(java.lang.String)_get("_response_encoding");}
		if (_renderArgs == null) {_renderArgs=(play.mvc.Scope.RenderArgs)_get("_renderArgs");}
		if (_rythm == null) {_rythm=(com.greenlaw110.rythm.RythmEngine)_get("_rythm");}
		if (error_parity == null) {error_parity=(java.lang.String)_get("error_parity");}
		if (_play == null) {_play=(play.Play)_get("_play");}
	}

	protected play.mvc.Scope.Flash flash=null;
	protected Integer error_index=0;
	protected play.data.validation.Error error=null;
	protected play.mvc.Scope.Params params=null;
	protected java.lang.String lang=null;
	protected play.i18n.Messages messages=null;
	protected Boolean error_isFirst=false;
	protected java.util.List<play.data.validation.Error> errors=null;
	protected Boolean error_isLast=false;
	protected play.mvc.Scope.Session session=null;
	protected play.mvc.Http.Request request=null;
	protected com.greenlaw110.rythm.play.RythmPlugin _rythmPlugin=null;
	protected java.lang.String _response_encoding=null;
	protected play.mvc.Scope.RenderArgs _renderArgs=null;
	protected com.greenlaw110.rythm.RythmEngine _rythm=null;
	protected java.lang.String error_parity=null;
	protected play.Play _play=null;

	@SuppressWarnings("unchecked") public void setRenderArgs(java.util.Map<String, Object> args) {
		if (null != args && args.containsKey("flash")) this.flash=(play.mvc.Scope.Flash)args.get("flash");
		if (null != args && args.containsKey("error_index")) this.error_index=(Integer)args.get("error_index");
		if (null != args && args.containsKey("error")) this.error=(play.data.validation.Error)args.get("error");
		if (null != args && args.containsKey("params")) this.params=(play.mvc.Scope.Params)args.get("params");
		if (null != args && args.containsKey("lang")) this.lang=(java.lang.String)args.get("lang");
		if (null != args && args.containsKey("messages")) this.messages=(play.i18n.Messages)args.get("messages");
		if (null != args && args.containsKey("error_isFirst")) this.error_isFirst=(Boolean)args.get("error_isFirst");
		if (null != args && args.containsKey("errors")) this.errors=(java.util.List<play.data.validation.Error>)args.get("errors");
		if (null != args && args.containsKey("error_isLast")) this.error_isLast=(Boolean)args.get("error_isLast");
		if (null != args && args.containsKey("session")) this.session=(play.mvc.Scope.Session)args.get("session");
		if (null != args && args.containsKey("request")) this.request=(play.mvc.Http.Request)args.get("request");
		if (null != args && args.containsKey("_rythmPlugin")) this._rythmPlugin=(com.greenlaw110.rythm.play.RythmPlugin)args.get("_rythmPlugin");
		if (null != args && args.containsKey("_response_encoding")) this._response_encoding=(java.lang.String)args.get("_response_encoding");
		if (null != args && args.containsKey("_renderArgs")) this._renderArgs=(play.mvc.Scope.RenderArgs)args.get("_renderArgs");
		if (null != args && args.containsKey("_rythm")) this._rythm=(com.greenlaw110.rythm.RythmEngine)args.get("_rythm");
		if (null != args && args.containsKey("error_parity")) this.error_parity=(java.lang.String)args.get("error_parity");
		if (null != args && args.containsKey("_play")) this._play=(play.Play)args.get("_play");
		super.setRenderArgs(args);
	}

	@SuppressWarnings("unchecked") @Override public void setRenderArg(String name, Object arg) {
		if ("flash".equals(name)) this.flash=(play.mvc.Scope.Flash)arg;
		if ("error_index".equals(name)) this.error_index=(Integer)arg;
		if ("error".equals(name)) this.error=(play.data.validation.Error)arg;
		if ("params".equals(name)) this.params=(play.mvc.Scope.Params)arg;
		if ("lang".equals(name)) this.lang=(java.lang.String)arg;
		if ("messages".equals(name)) this.messages=(play.i18n.Messages)arg;
		if ("error_isFirst".equals(name)) this.error_isFirst=(Boolean)arg;
		if ("errors".equals(name)) this.errors=(java.util.List<play.data.validation.Error>)arg;
		if ("error_isLast".equals(name)) this.error_isLast=(Boolean)arg;
		if ("session".equals(name)) this.session=(play.mvc.Scope.Session)arg;
		if ("request".equals(name)) this.request=(play.mvc.Http.Request)arg;
		if ("_rythmPlugin".equals(name)) this._rythmPlugin=(com.greenlaw110.rythm.play.RythmPlugin)arg;
		if ("_response_encoding".equals(name)) this._response_encoding=(java.lang.String)arg;
		if ("_renderArgs".equals(name)) this._renderArgs=(play.mvc.Scope.RenderArgs)arg;
		if ("_rythm".equals(name)) this._rythm=(com.greenlaw110.rythm.RythmEngine)arg;
		if ("error_parity".equals(name)) this.error_parity=(java.lang.String)arg;
		if ("_play".equals(name)) this._play=(play.Play)arg;
		super.setRenderArg(name, arg);
	}

	@SuppressWarnings("unchecked") public void setRenderArg(int pos, Object arg) {
		int _p = 0;
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.mvc.Scope.Flash") || "String".equals("play.mvc.Scope.Flash")); flash = (play.mvc.Scope.Flash)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("Integer") || "String".equals("Integer")); error_index = (Integer)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.data.validation.Error") || "String".equals("play.data.validation.Error")); error = (play.data.validation.Error)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.mvc.Scope.Params") || "String".equals("play.mvc.Scope.Params")); params = (play.mvc.Scope.Params)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("java.lang.String") || "String".equals("java.lang.String")); lang = (java.lang.String)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.i18n.Messages") || "String".equals("play.i18n.Messages")); messages = (play.i18n.Messages)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("Boolean") || "String".equals("Boolean")); error_isFirst = (Boolean)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("java.util.List<play.data.validation.Error>") || "String".equals("java.util.List<play.data.validation.Error>")); errors = (java.util.List<play.data.validation.Error>)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("Boolean") || "String".equals("Boolean")); error_isLast = (Boolean)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.mvc.Scope.Session") || "String".equals("play.mvc.Scope.Session")); session = (play.mvc.Scope.Session)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.mvc.Http.Request") || "String".equals("play.mvc.Http.Request")); request = (play.mvc.Http.Request)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("com.greenlaw110.rythm.play.RythmPlugin") || "String".equals("com.greenlaw110.rythm.play.RythmPlugin")); _rythmPlugin = (com.greenlaw110.rythm.play.RythmPlugin)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("java.lang.String") || "String".equals("java.lang.String")); _response_encoding = (java.lang.String)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.mvc.Scope.RenderArgs") || "String".equals("play.mvc.Scope.RenderArgs")); _renderArgs = (play.mvc.Scope.RenderArgs)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("com.greenlaw110.rythm.RythmEngine") || "String".equals("com.greenlaw110.rythm.RythmEngine")); _rythm = (com.greenlaw110.rythm.RythmEngine)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("java.lang.String") || "String".equals("java.lang.String")); error_parity = (java.lang.String)(isString ? (null == v ? "" : v.toString()) : v); }
		if (_p++ == pos) { Object v = arg; boolean isString = ("java.lang.String".equals("play.Play") || "String".equals("play.Play")); _play = (play.Play)(isString ? (null == v ? "" : v.toString()) : v); }
		if(0 == pos) setRenderArg("arg", arg);
	}



    protected String _msg(String key, Object ... params) {return play.i18n.Messages.get(key, params);}
    protected String _url(String action, Object... params) {return _url(false, action, params);}
   protected String _url(boolean isAbsolute, String action, Object... params) {
       com.greenlaw110.rythm.internal.compiler.TemplateClass tc = getTemplateClass(true);
       boolean escapeXML = (!tc.isStringTemplate() && tc.templateResource.getKey().toString().endsWith(".xml"));
       return new com.greenlaw110.rythm.play.utils.ActionBridge(isAbsolute, escapeXML).invokeMethod(action, params).toString();
   }


	@Override public com.greenlaw110.rythm.utils.TextBuilder build(){
		out().ensureCapacity(2934);

_setRenderProperty("title","Break Continue Statement");p("\n\n<div>\n    <h2>"); //line: 5

p(_getRenderProperty("title", null));p(" <small></small></h2>\n</div>\n\n<table class=\"table code-section\">\n    <thead>\n        <th class=\"span6\">Code</th>\n        <th>Result</th>\n    </thead>\n    <tbody>\n        <tr>\n            <td>\n                <pre class=\"prettyprint linenums\">"); //line: 16
p(com.greenlaw110.rythm.utils.S.escape("@for (int i = 0; i < 5; ++i) {\n    <p>Current number is: @i</p>\n    @if (i > 2) {\n        @break\n    }\n    <p>Next number is: @(i + 1)</p>\n}")); //line: 22
p("</pre>\n            </td>\n            <td>\n                "); //line: 25
for (int i = 0; i < 5; ++i){
	 //line: 26
p("<p>Current number is: "); //line: 26

try{pe(i);} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 26
p("</p>\n                    "); //line: 27
if (i > 2) { //line: 27
p("\n                        "); //line: 28
break; //line: 29
} //line: 29
p("\n                    <p>Next number is: "); //line: 30

try{pe((i + 1));} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 30
p("</p>\n                "); //line: 31
} //line: 31
p("\n            </td>\n        </tr>\n        <tr>\n            <td>\n                <pre class=\"prettyprint linenums\">"); //line: 36
p(com.greenlaw110.rythm.utils.S.escape("@for (int i = 0; i < 5; ++i) {\n    <p>Current number is: @i</p>\n    @if (i < 2) {\n        @continue\n    }\n    <p>Next number is: @(i + 1)</p>\n}")); //line: 42
p("</pre>\n            </td>\n            <td>\n                "); //line: 45
for (int i = 0; i < 5; ++i){
	 //line: 46
p("<p>Current number is: "); //line: 46

try{pe(i);} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 46
p("</p>\n                    "); //line: 47
if (i < 2) { //line: 47
p("\n                        "); //line: 48
continue; //line: 49
} //line: 49
p("\n                    <p>Next number is: "); //line: 50

try{pe((i + 1));} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 50
p("</p>\n                "); //line: 51
} //line: 51
p("\n            </td>\n        </tr>\n    </tbody>\n</table>\n\n<div>\n    <p>We can also use an array of integers: <code>"); //line: 58
p(com.greenlaw110.rythm.utils.S.escape("@{Integer[] ia = {1, 2, 3, 4, 5}}")); //line: 58
p("</code></p>\n</div>\n"); //line: 60
Integer[] ia = {1, 2, 3, 4, 5} //line: 60
; //line: 61
p("<table class=\"table code-section\">\n    <thead>\n        <th class=\"span6\">Code</th>\n        <th>Result</th>\n    </thead>\n    <tbody>\n        <tr>\n            <td>\n                <pre class=\"prettyprint linenums\">"); //line: 69
p(com.greenlaw110.rythm.utils.S.escape("@for (Integer i : ia) {\n    <p>Current number is: @i</p>\n    @if (i > 2) {\n        @break\n    }\n    <p>Next number is: @(i + 1)</p>\n}")); //line: 75
p("</pre>\n            </td>\n            <td>\n                "); //line: 78
com.greenlaw110.rythm.runtime.Each.INSTANCE.render(ia, new com.greenlaw110.rythm.runtime.Each.Looper<Integer>(app_rythm_Demo_testBreakContinue_html__R_T_C__.this,190){ //line: 78
	public boolean render(final Integer  i, final int  i_size, final int  i_index, final boolean  i_isOdd, final String  i_parity, final boolean  i_isFirst, final boolean  i_isLast, final String  i_sep, final com.greenlaw110.rythm.runtime.Each.IBody.LoopUtils  i_utils) {  //line: 78
p("<p>Current number is: "); //line: 79

try{pe(i);} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 79
p("</p>\n                    "); //line: 80
if (i > 2) { //line: 80
p("\n                        "); //line: 81
return false; //line: 82
} //line: 82
p("\n                    <p>Next number is: "); //line: 83

try{pe((i + 1));} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 83
p("</p>\n                "); //line: 84

	 return true;
	}}); //line: 84
p("\n            </td>\n        </tr>\n        <tr>\n            <td>\n                <pre class=\"prettyprint linenums\">"); //line: 89
p(com.greenlaw110.rythm.utils.S.escape("@for (Integer i : ia) {\n    <p>Current number is: @i</p>\n    @if (i < 2) {\n        @continue\n    }\n    <p>Next number is: @(i + 1)</p>\n}")); //line: 95
p("</pre>\n            </td>\n            <td>\n                "); //line: 98
com.greenlaw110.rythm.runtime.Each.INSTANCE.render(ia, new com.greenlaw110.rythm.runtime.Each.Looper<Integer>(app_rythm_Demo_testBreakContinue_html__R_T_C__.this,193){ //line: 98
	public boolean render(final Integer  i, final int  i_size, final int  i_index, final boolean  i_isOdd, final String  i_parity, final boolean  i_isFirst, final boolean  i_isLast, final String  i_sep, final com.greenlaw110.rythm.runtime.Each.IBody.LoopUtils  i_utils) {  //line: 98
p("<p>Current number is: "); //line: 99

try{pe(i);} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 99
p("</p>\n                    "); //line: 100
if (i < 2) { //line: 100
p("\n                        "); //line: 101
return true; //line: 102
} //line: 102
p("\n                    <p>Next number is: "); //line: 103

try{pe((i + 1));} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 103
p("</p>\n                "); //line: 104

	 return true;
	}}); //line: 104
p("\n            </td>\n        </tr>\n    </tbody>\n</table>\n\n"); //line: 110
 //line: 3

_startSection("tmpl_src");

try{pe((getTemplateClass(false).getTemplateSource()));} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 4
p("\n"); //line: 5

_endSection(); //line: 5
p("\n\n"); //line: 7

_startSection("java_src");

try{pe((getTemplateClass(false).javaSource));} catch (RuntimeException e) {handleTemplateExecutionException(e);}  //line: 8
p("\n"); //line: 9

_endSection(); //line: 9
 //line: 110

		return this;
	}

}