package org.nocket.gen.domain.element; import gengui.domain.AbstractDomainReference; import gengui.guiadapter.ConnectionReuse; import java.lang.reflect.Method; import org.nocket.gen.domain.ref.WrappedDomainReferenceI; import org.nocket.gen.domain.visitor.DomainElementVisitorI; public interface DomainElementI<E extends AbstractDomainReference> { WrappedDomainReferenceI<E> getAccessor(); String getPath(); String getPropertyName(); /** * Combination of PATH+NAME; e.g. "someEmbeddedBean.someProperty" or just * "someProperty" */ String getWicketId(); String getPrompt(); Method getMethod(); void accept(DomainElementVisitorI<E> visitor); /** * True if the element is part of a collection which will repeat several * times and therefore is not bound to any statically definied HTML element. * This is important when checking a generic binding for completeness. * Currently MultivalueButton/Property/ColumnElements are flagged as * repeated elements. All others are not. */ boolean repeated(); DomainElementI<E> replicate(ConnectionReuse reuse); }