Encodes a template value to HTML.
+ * + *Usage:
+ * + *+ * <!--v render:rife.render.EncodeHtml:valueId/--> + * {{v render:rife.render.EncodeHtml:valueId}} + *+ * + * @author Erik C. Thauvin + * @see StringUtils#encodeHtml(String) + * @since 1.0 + */ +public class EncodeHtml implements ValueRenderer { + /** + * {@inheritDoc} + */ + @Override + public String render(Template template, String valueId, String differentiator) { + if (differentiator != null && !differentiator.isBlank() && template.hasValueId(differentiator)) { + return StringUtils.encodeHtml(template.getValue(differentiator)); + } else { + return ""; + } + } +} diff --git a/lib/src/main/java/rife2/render/EncodeJson.java b/lib/src/main/java/rife2/render/EncodeJson.java new file mode 100644 index 0000000..c80f150 --- /dev/null +++ b/lib/src/main/java/rife2/render/EncodeJson.java @@ -0,0 +1,50 @@ +/* + * Copyright 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package rife2.render; + +import rife.template.Template; +import rife.template.ValueRenderer; +import rife.tools.StringUtils; + +/** + *
Encodes a template value to JSON.
+ * + *Usage:
+ * + *+ * <!--v render:rife.render.EncodeJson:valueId/--> + * {{v render:rife.render.EncodeJson:valueId}} + *+ * + * @author Erik C. Thauvin + * @see StringUtils#encodeJson(String) + * @since 1.0 + */ +public class EncodeJson implements ValueRenderer { + /** + * {@inheritDoc} + */ + @Override + public String render(Template template, String valueId, String differentiator) { + if (differentiator != null && !differentiator.isBlank() && template.hasValueId(differentiator)) { + return StringUtils.encodeJson(template.getValue(differentiator)); + } else { + return ""; + } + } +} diff --git a/lib/src/main/java/rife2/render/EncodeUrl.java b/lib/src/main/java/rife2/render/EncodeUrl.java new file mode 100644 index 0000000..408ce5a --- /dev/null +++ b/lib/src/main/java/rife2/render/EncodeUrl.java @@ -0,0 +1,50 @@ +/* + * Copyright 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package rife2.render; + +import rife.template.Template; +import rife.template.ValueRenderer; +import rife.tools.StringUtils; + +/** + *
URL-encodes a template value.
+ * + *Usage:
+ * + *+ * <!--v render:rife.render.EncodeUrl:valueId/--> + * {{v render:rife.render.EncodeUrl:valueId}} + *+ * + * @author Erik C. Thauvin + * @see StringUtils#encodeUrl(String) + * @since 1.0 + */ +public class EncodeUrl implements ValueRenderer { + /** + * {@inheritDoc} + */ + @Override + public String render(Template template, String valueId, String differentiator) { + if (differentiator != null && !differentiator.isBlank() && template.hasValueId(differentiator)) { + return StringUtils.encodeUrl(template.getValue(differentiator)); + } else { + return ""; + } + } +} diff --git a/lib/src/main/java/rife2/render/EncodeXml.java b/lib/src/main/java/rife2/render/EncodeXml.java new file mode 100644 index 0000000..05a5abf --- /dev/null +++ b/lib/src/main/java/rife2/render/EncodeXml.java @@ -0,0 +1,50 @@ +/* + * Copyright 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package rife2.render; + +import rife.template.Template; +import rife.template.ValueRenderer; +import rife.tools.StringUtils; + +/** + *
Encodes a template value to XML.
+ * + *Usage:
+ * + *+ * <!--v render:rife.render.EncodeXml:valueId/--> + * {{v render:rife.render.EncodeXml:valueId}} + *+ * + * @author Erik C. Thauvin + * @see StringUtils#encodeXml(String) + * @since 1.0 + */ +public class EncodeXml implements ValueRenderer { + /** + * {@inheritDoc} + */ + @Override + public String render(Template template, String valueId, String differentiator) { + if (differentiator != null && !differentiator.isBlank() && template.hasValueId(differentiator)) { + return StringUtils.encodeXml(template.getValue(differentiator)); + } else { + return ""; + } + } +}