/** * Overrides the DOCTYPE of the rendered document (via {@link org.apache.tapestry5.dom.Document#dtd(String, String, String)} * which can be useful when different component templates that render to the same document disagree about what the correct DOCTYPE * is. * * @tapestrydoc * @since 5.3 */ public class Doctype { @Parameter(required = true, allowNull = false, defaultPrefix = BindingConstants.LITERAL) private String name; @Parameter(defaultPrefix = BindingConstants.LITERAL) private String publicId, systemId; boolean beginRender(MarkupWriter writer) { writer.getDocument().dtd(name, publicId, systemId); return false; } }
private void convertFieldIntoParameter(PlasticClass plasticClass, MutableComponentModel model, PlasticField field) { Parameter annotation = field.getAnnotation(Parameter.class); String fieldType = field.getTypeName(); String parameterName = getParameterName(field.getName(), annotation.name()); field.claim(annotation); model.addParameter(parameterName, annotation.required(), annotation.allowNull(), annotation.defaultPrefix(), annotation.cache()); MethodHandle defaultMethodHandle = findDefaultMethodHandle(plasticClass, parameterName); ComputedValue<FieldConduit<Object>> computedParameterConduit = createComputedParameterConduit(parameterName, fieldType, annotation, defaultMethodHandle); field.setComputedConduit(computedParameterConduit); }
protected final void train_name(Parameter parameter, String name) { expect(parameter.name()).andReturn(name).atLeastOnce(); }
final boolean allowNull = annotation.allowNull() && !primitive;
/** * A close relative of the {@link org.apache.tapestry5.corelib.components.If} component that inverts the meaning of its * test. This is easier than an {@link org.apache.tapestry5.corelib.components.If} component with the negate parameter set to {@code true}. * * @tapestrydoc */ public class Unless extends AbstractConditional { /** * If true, then the body of the component is omitted. If false, the body is rendered. */ @Parameter(required = true) private boolean test; /** * @return test parameter inverted */ protected boolean test() { return !test; } }
@Parameter(defaultPrefix = BindingConstants.LITERAL) private String event;
@Parameter(allowNull = false, value = "text", defaultPrefix = BindingConstants.LITERAL) private String type;
public class Outer { @SuppressWarnings("unused") @Parameter(defaultPrefix = BindingConstants.LITERAL) private String outerValue; }
public class ParameterSubClass extends ParameterBaseClass { // This conflicts with value parameter defined in ParameterBaseClass @Parameter private String value; }
/** * Used to help prove that BindParameter on a component field throws an intelligible exception, even if the containing * resources actually do contain a declared parameter of the appropriate name. */ public class BindParameterComponentContainer { @Parameter("literal:testvalue") private String value; }
/** * Used by {@link org.apache.tapestry5.internal.transform.ParameterWorkerTest}. */ public class DefaultParameterComponent { @Parameter("literal:greeting") private String value; public String getValue() { return value; } }
public abstract class ParameterBaseClass { @Parameter private String value; }
public class PrimitiveDefault { @Parameter private int value; int defaultValue() { return 99; } boolean beginRender(MarkupWriter writer) { writer.element("div", "id", "value"); writer.write(String.valueOf(value)); writer.end(); return false; } }
public class Render { @Parameter(required = true) private Object value; /** * Returns the value parameter, which allows another object (presumably, a component) to render first. * * @return */ Object beginRender() { return value; } }
/** * @since 5.3 */ public class ShowInt { @Parameter private int value; void beginRender(MarkupWriter writer) { writer.element("strong"); writer.write(String.valueOf(value)); writer.end(); } }
/** * Echos out its value parameter. Uused to test parameter overrides between component annoation and template. Also, used * to test parameter defaulter methods. */ public class Echo { @Parameter("componentResources.completeId") private String value; @BeginRender void render(MarkupWriter writer) { writer.write(value); } }
@Parameter(value = "message:private-default-confirm-message", defaultPrefix = BindingConstants.LITERAL) private String message; @Parameter(value = "message:private-default-confirm-title", defaultPrefix = BindingConstants.LITERAL) private String title; @Parameter("false") private boolean disabled; @Parameter(defaultPrefix = BindingConstants.LITERAL) private String okClass; @Parameter(value = "message:private-default-confirm-ok", defaultPrefix = BindingConstants.LITERAL) private String ok; @Parameter(value = "message:private-default-confirm-cancel", defaultPrefix = BindingConstants.LITERAL) private String cancel;
public class OutputRating { @Parameter private int rating; void beginRender(MarkupWriter writer) { if (rating <= 0) { writer.write("-"); return; } // Want 1 - 5 stars int stars = ((rating - 1) / 20) + 1; for (int i = 0; i < stars; i++) writer.write("*"); } }