package io.ebeaninternal.server.deploy.visitor;
import io.ebeaninternal.server.deploy.BeanProperty;
import io.ebeaninternal.server.deploy.BeanPropertyAssocMany;
import io.ebeaninternal.server.deploy.BeanPropertyAssocOne;
Used to visit a BeanProperty given the type of bean property it is.
/**
* Used to visit a BeanProperty given the type of bean property it is.
*/
public interface BeanPropertyVisitor {
Completed visiting all the properties on the bean.
/**
* Completed visiting all the properties on the bean.
*/
void visitEnd();
Visit a OneToMany or ManyToMany property.
/**
* Visit a OneToMany or ManyToMany property.
*/
void visitMany(BeanPropertyAssocMany<?> p);
Visit the imported side of a OneToOne property.
/**
* Visit the imported side of a OneToOne property.
*/
void visitOneImported(BeanPropertyAssocOne<?> p);
Visit the exported side of a OneToOne property.
/**
* Visit the exported side of a OneToOne property.
*/
void visitOneExported(BeanPropertyAssocOne<?> p);
Visit an embedded property.
/**
* Visit an embedded property.
*/
void visitEmbedded(BeanPropertyAssocOne<?> p);
Visit the scalar property of an embedded bean.
/**
* Visit the scalar property of an embedded bean.
*/
void visitEmbeddedScalar(BeanProperty p, BeanPropertyAssocOne<?> embedded);
Visit a scalar property.
/**
* Visit a scalar property.
*/
void visitScalar(BeanProperty p);
}