use of org.apache.tapestry5.dom.Visitor in project tapestry-5 by apache.
the class MethodNode method accept.
/**
* Makes the given method visitor visit this method.
*
* @param methodVisitor a method visitor.
*/
public void accept(final MethodVisitor methodVisitor) {
// Visit the parameters.
if (parameters != null) {
for (int i = 0, n = parameters.size(); i < n; i++) {
parameters.get(i).accept(methodVisitor);
}
}
// Visit the annotations.
if (annotationDefault != null) {
AnnotationVisitor annotationVisitor = methodVisitor.visitAnnotationDefault();
AnnotationNode.accept(annotationVisitor, null, annotationDefault);
if (annotationVisitor != null) {
annotationVisitor.visitEnd();
}
}
if (visibleAnnotations != null) {
for (int i = 0, n = visibleAnnotations.size(); i < n; ++i) {
AnnotationNode annotation = visibleAnnotations.get(i);
annotation.accept(methodVisitor.visitAnnotation(annotation.desc, true));
}
}
if (invisibleAnnotations != null) {
for (int i = 0, n = invisibleAnnotations.size(); i < n; ++i) {
AnnotationNode annotation = invisibleAnnotations.get(i);
annotation.accept(methodVisitor.visitAnnotation(annotation.desc, false));
}
}
if (visibleTypeAnnotations != null) {
for (int i = 0, n = visibleTypeAnnotations.size(); i < n; ++i) {
TypeAnnotationNode typeAnnotation = visibleTypeAnnotations.get(i);
typeAnnotation.accept(methodVisitor.visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath, typeAnnotation.desc, true));
}
}
if (invisibleTypeAnnotations != null) {
for (int i = 0, n = invisibleTypeAnnotations.size(); i < n; ++i) {
TypeAnnotationNode typeAnnotation = invisibleTypeAnnotations.get(i);
typeAnnotation.accept(methodVisitor.visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath, typeAnnotation.desc, false));
}
}
if (visibleAnnotableParameterCount > 0) {
methodVisitor.visitAnnotableParameterCount(visibleAnnotableParameterCount, true);
}
if (visibleParameterAnnotations != null) {
for (int i = 0, n = visibleParameterAnnotations.length; i < n; ++i) {
List<AnnotationNode> parameterAnnotations = visibleParameterAnnotations[i];
if (parameterAnnotations == null) {
continue;
}
for (int j = 0, m = parameterAnnotations.size(); j < m; ++j) {
AnnotationNode annotation = parameterAnnotations.get(j);
annotation.accept(methodVisitor.visitParameterAnnotation(i, annotation.desc, true));
}
}
}
if (invisibleAnnotableParameterCount > 0) {
methodVisitor.visitAnnotableParameterCount(invisibleAnnotableParameterCount, false);
}
if (invisibleParameterAnnotations != null) {
for (int i = 0, n = invisibleParameterAnnotations.length; i < n; ++i) {
List<AnnotationNode> parameterAnnotations = invisibleParameterAnnotations[i];
if (parameterAnnotations == null) {
continue;
}
for (int j = 0, m = parameterAnnotations.size(); j < m; ++j) {
AnnotationNode annotation = parameterAnnotations.get(j);
annotation.accept(methodVisitor.visitParameterAnnotation(i, annotation.desc, false));
}
}
}
// Visit the non standard attributes.
if (visited) {
instructions.resetLabels();
}
if (attrs != null) {
for (int i = 0, n = attrs.size(); i < n; ++i) {
methodVisitor.visitAttribute(attrs.get(i));
}
}
// Visit the code.
if (instructions.size() > 0) {
methodVisitor.visitCode();
// Visits the try catch blocks.
if (tryCatchBlocks != null) {
for (int i = 0, n = tryCatchBlocks.size(); i < n; ++i) {
tryCatchBlocks.get(i).updateIndex(i);
tryCatchBlocks.get(i).accept(methodVisitor);
}
}
// Visit the instructions.
instructions.accept(methodVisitor);
// Visits the local variables.
if (localVariables != null) {
for (int i = 0, n = localVariables.size(); i < n; ++i) {
localVariables.get(i).accept(methodVisitor);
}
}
// Visits the local variable annotations.
if (visibleLocalVariableAnnotations != null) {
for (int i = 0, n = visibleLocalVariableAnnotations.size(); i < n; ++i) {
visibleLocalVariableAnnotations.get(i).accept(methodVisitor, true);
}
}
if (invisibleLocalVariableAnnotations != null) {
for (int i = 0, n = invisibleLocalVariableAnnotations.size(); i < n; ++i) {
invisibleLocalVariableAnnotations.get(i).accept(methodVisitor, false);
}
}
methodVisitor.visitMaxs(maxStack, maxLocals);
visited = true;
}
methodVisitor.visitEnd();
}
use of org.apache.tapestry5.dom.Visitor in project tapestry-5 by apache.
the class RecordComponentNode method accept.
/**
* Makes the given class visitor visit this record component.
*
* @param classVisitor a class visitor.
*/
public void accept(final ClassVisitor classVisitor) {
RecordComponentVisitor recordComponentVisitor = classVisitor.visitRecordComponent(name, descriptor, signature);
if (recordComponentVisitor == null) {
return;
}
// Visit the annotations.
if (visibleAnnotations != null) {
for (int i = 0, n = visibleAnnotations.size(); i < n; ++i) {
AnnotationNode annotation = visibleAnnotations.get(i);
annotation.accept(recordComponentVisitor.visitAnnotation(annotation.desc, true));
}
}
if (invisibleAnnotations != null) {
for (int i = 0, n = invisibleAnnotations.size(); i < n; ++i) {
AnnotationNode annotation = invisibleAnnotations.get(i);
annotation.accept(recordComponentVisitor.visitAnnotation(annotation.desc, false));
}
}
if (visibleTypeAnnotations != null) {
for (int i = 0, n = visibleTypeAnnotations.size(); i < n; ++i) {
TypeAnnotationNode typeAnnotation = visibleTypeAnnotations.get(i);
typeAnnotation.accept(recordComponentVisitor.visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath, typeAnnotation.desc, true));
}
}
if (invisibleTypeAnnotations != null) {
for (int i = 0, n = invisibleTypeAnnotations.size(); i < n; ++i) {
TypeAnnotationNode typeAnnotation = invisibleTypeAnnotations.get(i);
typeAnnotation.accept(recordComponentVisitor.visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath, typeAnnotation.desc, false));
}
}
// Visit the non standard attributes.
if (attrs != null) {
for (int i = 0, n = attrs.size(); i < n; ++i) {
recordComponentVisitor.visitAttribute(attrs.get(i));
}
}
recordComponentVisitor.visitEnd();
}
use of org.apache.tapestry5.dom.Visitor in project tapestry-5 by apache.
the class AbstractSelectModel method visit.
public final void visit(SelectModelVisitor visitor) {
List<OptionGroupModel> groups = getOptionGroups();
if (groups != null) {
for (OptionGroupModel groupModel : groups) {
visitor.beginOptionGroup(groupModel);
visitOptions(groupModel.getOptions(), visitor);
visitor.endOptionGroup(groupModel);
}
}
visitOptions(getOptions(), visitor);
}
use of org.apache.tapestry5.dom.Visitor in project tapestry-5 by apache.
the class PlasticInternalUtils method dissasembleBytecode.
public static String dissasembleBytecode(ClassNode classNode) {
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
TraceClassVisitor visitor = new TraceClassVisitor(writer);
classNode.accept(visitor);
writer.close();
return stringWriter.toString();
}
use of org.apache.tapestry5.dom.Visitor in project tapestry-5 by apache.
the class PageTester method pushFieldValuesIntoRequest.
private void pushFieldValuesIntoRequest(Element form) {
Visitor visitor = new Visitor() {
public void visit(Element element) {
if (InternalUtils.isNonBlank(element.getAttribute("disabled")))
return;
String name = element.getName();
if (name.equals("input")) {
String type = extractNonBlank(element, "type");
if (type.equals("radio") || type.equals("checkbox")) {
if (InternalUtils.isBlank(element.getAttribute("checked")))
return;
}
if (type.equals("button") || type.equals("submit"))
return;
// Handle radio, checkbox, text, radio, hidden
String value = element.getAttribute("value");
if (InternalUtils.isNonBlank(value))
request.loadParameter(extractNonBlank(element, "name"), value);
return;
}
if (name.equals("option")) {
String value = element.getAttribute("value");
if (InternalUtils.isNonBlank(element.getAttribute("selected"))) {
String selectName = extractNonBlank(findAncestor(element, "select"), "name");
request.loadParameter(selectName, value);
}
return;
}
if (name.equals("textarea")) {
String content = element.getChildMarkup();
if (InternalUtils.isNonBlank(content))
request.loadParameter(extractNonBlank(element, "name"), content);
return;
}
}
};
form.visit(visitor);
}
Aggregations