package org.bundlemaker.core.analysis;
import org.bundlemaker.core.analysis.IResourceArtifact.IResourceArtifactContent;
/**
* <p>
* </p>
*
* @author Gerd Wütherich (gerd@gerd-wuetherich.de)
*/
public interface IAnalysisModelVisitor {
/**
* <p>
* </p>
*
* @param rootArtifact
* @return
*/
boolean visit(IRootArtifact rootArtifact);
/**
* <p>
* </p>
*
* @param rootArtifact
* @return
*/
boolean visit(IGroupArtifact rootArtifact);
/**
* <p>
* </p>
*
* @param moduleArtifact
* @return
*/
boolean visit(IModuleArtifact moduleArtifact);
/**
* <p>
* </p>
*
* @param resourceArtifact
* @return
*/
boolean visit(IResourceArtifact resourceArtifact);
/**
* <p>
* </p>
*
* @param resourceArtifactContent
* @return
*/
boolean visit(IResourceArtifactContent resourceArtifactContent);
/**
* <p>
* </p>
*
* @param packageArtifact
* @return
*/
boolean visit(IPackageArtifact packageArtifact);
/**
* <p>
* </p>
*
* @author Gerd Wütherich (gerd@gerd-wuetherich.de)
*/
public class Adapter implements IAnalysisModelVisitor {
@Override
public boolean visit(IRootArtifact rootArtifact) {
return onVisit(rootArtifact);
}
@Override
public boolean visit(IGroupArtifact groupArtifact) {
return onVisit(groupArtifact);
}
@Override
public boolean visit(IModuleArtifact moduleArtifact) {
return onVisit(moduleArtifact);
}
@Override
public boolean visit(IResourceArtifact resourceArtifact) {
return onVisit(resourceArtifact);
}
/**
* {@inheritDoc}
*/
@Override
public boolean visit(IResourceArtifactContent resourceArtifactContent) {
return onVisit(resourceArtifactContent);
}
@Override
public boolean visit(IPackageArtifact packageArtifact) {
return onVisit(packageArtifact);
}
/**
* <p>
* </p>
*
* @param rootArtifact
* @return
*/
public boolean onVisit(IBundleMakerArtifact artifact) {
return true;
}
}
}