package org.nocket.gen.domain.visitor.properties; import org.nocket.gen.domain.DMDWebGenContext; import org.nocket.gen.domain.element.ButtonElement; import org.nocket.gen.domain.element.CheckboxPropertyElement; import org.nocket.gen.domain.element.ChoicerPropertyElement; import org.nocket.gen.domain.element.HeadlineElement; import org.nocket.gen.domain.element.HiddenPropertyElement; import org.nocket.gen.domain.element.MultivaluePropertyElement; import org.nocket.gen.domain.element.ResourceElement; import org.nocket.gen.domain.element.SimplePropertyElement; import org.nocket.gen.domain.visitor.AbstractDomainElementVisitor; import org.nocket.gen.domain.visitor.DomainElementVisitorI; import org.nocket.gen.domain.visitor.DummyVisitor; import gengui.domain.AbstractDomainReference; /** * The Class DelegatePropertiesVisitor. * * @param <E> the element type */ public class DelegatePropertiesVisitor<E extends AbstractDomainReference> extends AbstractDomainElementVisitor<E> { /** The delegate. */ private final DomainElementVisitorI<E> delegate; /** * Instantiates a new delegate properties visitor. * * @param context the context */ public DelegatePropertiesVisitor(DMDWebGenContext<E> context) { super(context); if (context.getDomainProperties().isJFDLocalizationOnce()) { this.delegate = new DummyVisitor<E>(context); } else if (context.getDomainProperties().isLocalizationWicket()) { this.delegate = new WicketPropertiesVisitor<E>(context); } else { this.delegate = new GenguiPropertiesVisitor<E>(context); } } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitSimpleProperty(org.nocket.gen.domain.element.SimplePropertyElement) */ @Override public void visitSimpleProperty(SimplePropertyElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitChoicerProperty(org.nocket.gen.domain.element.ChoicerPropertyElement) */ @Override public void visitChoicerProperty(ChoicerPropertyElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitCheckboxProperty(org.nocket.gen.domain.element.CheckboxPropertyElement) */ @Override public void visitCheckboxProperty(CheckboxPropertyElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitButton(org.nocket.gen.domain.element.ButtonElement) */ @Override public void visitButton(ButtonElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitResource(org.nocket.gen.domain.element.ResourceElement) */ @Override public void visitResource(ResourceElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitFieldsetOpen(org.nocket.gen.domain.element.HeadlineElement) */ @Override public void visitFieldsetOpen(HeadlineElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitMultivalueProperty(org.nocket.gen.domain.element.MultivaluePropertyElement) */ @Override public void visitMultivalueProperty(MultivaluePropertyElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitFieldsetClose() */ @Override public void visitFieldsetClose() { delegate.visitFieldsetClose(); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#visitHiddenProperty(org.nocket.gen.domain.element.HiddenPropertyElement) */ @Override public void visitHiddenProperty(HiddenPropertyElement<E> e) { e.accept(delegate); } /* (non-Javadoc) * @see org.nocket.gen.domain.visitor.DomainElementVisitorI#finish() */ @Override public void finish() { delegate.finish(); } }