/*-
* Copyright (c) 2013-2015 Red Hat, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.fedoraproject.xmvn.model;
import org.apache.maven.model.Activation;
import org.apache.maven.model.ActivationFile;
import org.apache.maven.model.ActivationOS;
import org.apache.maven.model.ActivationProperty;
import org.apache.maven.model.Build;
import org.apache.maven.model.BuildBase;
import org.apache.maven.model.CiManagement;
import org.apache.maven.model.Contributor;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Developer;
import org.apache.maven.model.DistributionManagement;
import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Extension;
import org.apache.maven.model.IssueManagement;
import org.apache.maven.model.License;
import org.apache.maven.model.MailingList;
import org.apache.maven.model.Model;
import org.apache.maven.model.Notifier;
import org.apache.maven.model.Organization;
import org.apache.maven.model.Parent;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginExecution;
import org.apache.maven.model.PluginManagement;
import org.apache.maven.model.Prerequisites;
import org.apache.maven.model.Profile;
import org.apache.maven.model.Relocation;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.ReportSet;
import org.apache.maven.model.Reporting;
import org.apache.maven.model.Repository;
import org.apache.maven.model.RepositoryPolicy;
import org.apache.maven.model.Resource;
import org.apache.maven.model.Scm;
import org.apache.maven.model.Site;
/**
* @author Mikolaj Izdebski
*/
public interface ModelVisitor
{
Build replaceBuild( Build build );
Extension replaceBuildExtension( Extension extension );
String replaceBuildFilter( String filter );
Plugin replaceBuildPlugin( Plugin plugin );
Dependency replaceBuildPluginDependency( Dependency dependency );
Exclusion replaceBuildPluginDependencyExclusion( Exclusion exclusion );
PluginExecution replaceBuildPluginExecution( PluginExecution execution );
String replaceBuildPluginExecutionGoal( String goal );
PluginManagement replaceBuildPluginManagement( PluginManagement pluginManagement );
Plugin replaceBuildPluginManagementPlugin( Plugin plugin );
Dependency replaceBuildPluginManagementPluginDependency( Dependency dependency );
Exclusion replaceBuildPluginManagementPluginDependencyExclusion( Exclusion exclusion );
PluginExecution replaceBuildPluginManagementPluginExecution( PluginExecution execution );
String replaceBuildPluginManagementPluginExecutionGoal( String goal );
Resource replaceBuildResource( Resource resource );
String replaceBuildResourceExclude( String exclude );
String replaceBuildResourceInclude( String include );
Resource replaceBuildTestResource( Resource testResource );
String replaceBuildTestResourceExclude( String exclude );
String replaceBuildTestResourceInclude( String include );
CiManagement replaceCiManagement( CiManagement ciManagement );
Notifier replaceCiManagementNotifier( Notifier notifier );
String replaceCiManagementNotifierConfiguration( String configurationElementKey, String configurationElementValue );
Contributor replaceContributor( Contributor contributor );
String replaceContributorProperty( String propertyKey, String propertyValue );
String replaceContributorRole( String role );
Dependency replaceDependency( Dependency dependency );
Exclusion replaceDependencyExclusion( Exclusion exclusion );
DependencyManagement replaceDependencyManagement( DependencyManagement dependencyManagement );
Dependency replaceDependencyManagementDependency( Dependency dependency );
Exclusion replaceDependencyManagementDependencyExclusion( Exclusion exclusion );
Developer replaceDeveloper( Developer developer );
String replaceDeveloperProperty( String propertyKey, String propertyValue );
String replaceDeveloperRole( String role );
DistributionManagement replaceDistributionManagement( DistributionManagement distributionManagement );
Relocation replaceDistributionManagementRelocation( Relocation relocation );
DeploymentRepository replaceDistributionManagementRepository( DeploymentRepository repository );
RepositoryPolicy replaceDistributionManagementRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceDistributionManagementRepositorySnapshot( RepositoryPolicy snapshots );
Site replaceDistributionManagementSite( Site site );
DeploymentRepository replaceDistributionManagementSnapshotRepository( DeploymentRepository snapshotRepository );
RepositoryPolicy replaceDistributionManagementSnapshotRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceDistributionManagementSnapshotRepositorySnapshot( RepositoryPolicy snapshots );
IssueManagement replaceIssueManagement( IssueManagement issueManagement );
License replaceLicense( License license );
MailingList replaceMailingList( MailingList mailingList );
String replaceMailingListOtherArchive( String otherArchive );
String replaceModule( String module );
Organization replaceOrganization( Organization organization );
Parent replaceParent( Parent parent );
Repository replacePluginRepository( Repository pluginRepository );
RepositoryPolicy replacePluginRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replacePluginRepositorySnapshot( RepositoryPolicy snapshots );
Prerequisites replacePrerequisite( Prerequisites prerequisites );
Profile replaceProfile( Profile profile );
Activation replaceProfileActivation( Activation activation );
ActivationFile replaceProfileActivationFile( ActivationFile file );
ActivationOS replaceProfileActivationO( ActivationOS os );
ActivationProperty replaceProfileActivationProperty( ActivationProperty property );
BuildBase replaceProfileBuild( BuildBase build );
String replaceProfileBuildFilter( String filter );
Plugin replaceProfileBuildPlugin( Plugin plugin );
Dependency replaceProfileBuildPluginDependency( Dependency dependency );
Exclusion replaceProfileBuildPluginDependencyExclusion( Exclusion exclusion );
PluginExecution replaceProfileBuildPluginExecution( PluginExecution execution );
String replaceProfileBuildPluginExecutionGoal( String goal );
PluginManagement replaceProfileBuildPluginManagement( PluginManagement pluginManagement );
Plugin replaceProfileBuildPluginManagementPlugin( Plugin plugin );
Dependency replaceProfileBuildPluginManagementPluginDependency( Dependency dependency );
Exclusion replaceProfileBuildPluginManagementPluginDependencyExclusion( Exclusion exclusion );
PluginExecution replaceProfileBuildPluginManagementPluginExecution( PluginExecution execution );
String replaceProfileBuildPluginManagementPluginExecutionGoal( String goal );
Resource replaceProfileBuildResource( Resource resource );
String replaceProfileBuildResourceExclude( String exclude );
String replaceProfileBuildResourceInclude( String include );
Resource replaceProfileBuildTestResource( Resource testResource );
String replaceProfileBuildTestResourceExclude( String exclude );
String replaceProfileBuildTestResourceInclude( String include );
Dependency replaceProfileDependency( Dependency dependency );
Exclusion replaceProfileDependencyExclusion( Exclusion exclusion );
DependencyManagement replaceProfileDependencyManagement( DependencyManagement dependencyManagement );
Dependency replaceProfileDependencyManagementDependency( Dependency dependency );
Exclusion replaceProfileDependencyManagementDependencyExclusion( Exclusion exclusion );
DistributionManagement replaceProfileDistributionManagement( DistributionManagement distributionManagement );
Relocation replaceProfileDistributionManagementRelocation( Relocation relocation );
DeploymentRepository replaceProfileDistributionManagementRepository( DeploymentRepository repository );
RepositoryPolicy replaceProfileDistributionManagementRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceProfileDistributionManagementRepositorySnapshot( RepositoryPolicy snapshots );
Site replaceProfileDistributionManagementSite( Site site );
DeploymentRepository replaceProfileDistributionManagementSnapshotRepository( DeploymentRepository snapshotRepository );
RepositoryPolicy replaceProfileDistributionManagementSnapshotRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceProfileDistributionManagementSnapshotRepositorySnapshot( RepositoryPolicy snapshots );
String replaceProfileModule( String module );
Repository replaceProfilePluginRepository( Repository pluginRepository );
RepositoryPolicy replaceProfilePluginRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceProfilePluginRepositorySnapshot( RepositoryPolicy snapshots );
String replaceProfileProperty( String propertyKey, String propertyValue );
Reporting replaceProfileReporting( Reporting reporting );
ReportPlugin replaceProfileReportingPlugin( ReportPlugin plugin );
ReportSet replaceProfileReportingPluginReportSet( ReportSet reportSet );
String replaceProfileReportingPluginReportSetReport( String report );
Repository replaceProfileRepository( Repository repository );
RepositoryPolicy replaceProfileRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceProfileRepositorySnapshot( RepositoryPolicy snapshots );
String replaceProperty( String propertyKey, String propertyValue );
Reporting replaceReporting( Reporting reporting );
ReportPlugin replaceReportingPlugin( ReportPlugin plugin );
ReportSet replaceReportingPluginReportSet( ReportSet reportSet );
String replaceReportingPluginReportSetReport( String report );
Repository replaceRepository( Repository repository );
RepositoryPolicy replaceRepositoryRelease( RepositoryPolicy releases );
RepositoryPolicy replaceRepositorySnapshot( RepositoryPolicy snapshots );
Scm replaceScm( Scm scm );
void visitBuild( Build build );
void visitBuildExtension( Extension extension );
void visitBuildFilter( String filter );
void visitBuildPlugin( Plugin plugin );
void visitBuildPluginDependency( Dependency dependency );
void visitBuildPluginDependencyExclusion( Exclusion exclusion );
void visitBuildPluginExecution( PluginExecution execution );
void visitBuildPluginExecutionGoal( String goal );
void visitBuildPluginManagement( PluginManagement pluginManagement );
void visitBuildPluginManagementPlugin( Plugin plugin );
void visitBuildPluginManagementPluginDependency( Dependency dependency );
void visitBuildPluginManagementPluginDependencyExclusion( Exclusion exclusion );
void visitBuildPluginManagementPluginExecution( PluginExecution execution );
void visitBuildPluginManagementPluginExecutionGoal( String goal );
void visitBuildResource( Resource resource );
void visitBuildResourceExclude( String exclude );
void visitBuildResourceInclude( String include );
void visitBuildTestResource( Resource testResource );
void visitBuildTestResourceExclude( String exclude );
void visitBuildTestResourceInclude( String include );
void visitCiManagement( CiManagement ciManagement );
void visitCiManagementNotifier( Notifier notifier );
void visitCiManagementNotifierConfiguration( String configurationElementKey, String configurationElementValue );
void visitContributor( Contributor contributor );
void visitContributorProperty( String propertyKey, String propertyValue );
void visitContributorRole( String role );
void visitDependency( Dependency dependency );
void visitDependencyExclusion( Exclusion exclusion );
void visitDependencyManagement( DependencyManagement dependencyManagement );
void visitDependencyManagementDependency( Dependency dependency );
void visitDependencyManagementDependencyExclusion( Exclusion exclusion );
void visitDeveloper( Developer developer );
void visitDeveloperProperty( String propertyKey, String propertyValue );
void visitDeveloperRole( String role );
void visitDistributionManagement( DistributionManagement distributionManagement );
void visitDistributionManagementRelocation( Relocation relocation );
void visitDistributionManagementRepository( DeploymentRepository repository );
void visitDistributionManagementRepositoryRelease( RepositoryPolicy releases );
void visitDistributionManagementRepositorySnapshot( RepositoryPolicy snapshots );
void visitDistributionManagementSite( Site site );
void visitDistributionManagementSnapshotRepository( DeploymentRepository snapshotRepository );
void visitDistributionManagementSnapshotRepositoryRelease( RepositoryPolicy releases );
void visitDistributionManagementSnapshotRepositorySnapshot( RepositoryPolicy snapshots );
void visitIssueManagement( IssueManagement issueManagement );
void visitLicense( License license );
void visitMailingList( MailingList mailingList );
void visitMailingListOtherArchive( String otherArchive );
void visitModule( String module );
void visitOrganization( Organization organization );
void visitParent( Parent parent );
void visitPluginRepository( Repository pluginRepository );
void visitPluginRepositoryRelease( RepositoryPolicy releases );
void visitPluginRepositorySnapshot( RepositoryPolicy snapshots );
void visitPrerequisite( Prerequisites prerequisites );
void visitProfile( Profile profile );
void visitProfileActivation( Activation activation );
void visitProfileActivationFile( ActivationFile file );
void visitProfileActivationO( ActivationOS os );
void visitProfileActivationProperty( ActivationProperty property );
void visitProfileBuild( BuildBase build );
void visitProfileBuildFilter( String filter );
void visitProfileBuildPlugin( Plugin plugin );
void visitProfileBuildPluginDependency( Dependency dependency );
void visitProfileBuildPluginDependencyExclusion( Exclusion exclusion );
void visitProfileBuildPluginExecution( PluginExecution execution );
void visitProfileBuildPluginExecutionGoal( String goal );
void visitProfileBuildPluginManagement( PluginManagement pluginManagement );
void visitProfileBuildPluginManagementPlugin( Plugin plugin );
void visitProfileBuildPluginManagementPluginDependency( Dependency dependency );
void visitProfileBuildPluginManagementPluginDependencyExclusion( Exclusion exclusion );
void visitProfileBuildPluginManagementPluginExecution( PluginExecution execution );
void visitProfileBuildPluginManagementPluginExecutionGoal( String goal );
void visitProfileBuildResource( Resource resource );
void visitProfileBuildResourceExclude( String exclude );
void visitProfileBuildResourceInclude( String include );
void visitProfileBuildTestResource( Resource testResource );
void visitProfileBuildTestResourceExclude( String exclude );
void visitProfileBuildTestResourceInclude( String include );
void visitProfileDependency( Dependency dependency );
void visitProfileDependencyExclusion( Exclusion exclusion );
void visitProfileDependencyManagement( DependencyManagement dependencyManagement );
void visitProfileDependencyManagementDependency( Dependency dependency );
void visitProfileDependencyManagementDependencyExclusion( Exclusion exclusion );
void visitProfileDistributionManagement( DistributionManagement distributionManagement );
void visitProfileDistributionManagementRelocation( Relocation relocation );
void visitProfileDistributionManagementRepository( DeploymentRepository repository );
void visitProfileDistributionManagementRepositoryRelease( RepositoryPolicy releases );
void visitProfileDistributionManagementRepositorySnapshot( RepositoryPolicy snapshots );
void visitProfileDistributionManagementSite( Site site );
void visitProfileDistributionManagementSnapshotRepository( DeploymentRepository snapshotRepository );
void visitProfileDistributionManagementSnapshotRepositoryRelease( RepositoryPolicy releases );
void visitProfileDistributionManagementSnapshotRepositorySnapshot( RepositoryPolicy snapshots );
void visitProfileModule( String module );
void visitProfilePluginRepository( Repository pluginRepository );
void visitProfilePluginRepositoryRelease( RepositoryPolicy releases );
void visitProfilePluginRepositorySnapshot( RepositoryPolicy snapshots );
void visitProfileProperty( String propertyKey, String propertyValue );
void visitProfileReporting( Reporting reporting );
void visitProfileReportingPlugin( ReportPlugin plugin );
void visitProfileReportingPluginReportSet( ReportSet reportSet );
void visitProfileReportingPluginReportSetReport( String report );
void visitProfileRepository( Repository repository );
void visitProfileRepositoryRelease( RepositoryPolicy releases );
void visitProfileRepositorySnapshot( RepositoryPolicy snapshots );
void visitProject( Model model );
void visitProperty( String propertyKey, String propertyValue );
void visitReporting( Reporting reporting );
void visitReportingPlugin( ReportPlugin plugin );
void visitReportingPluginReportSet( ReportSet reportSet );
void visitReportingPluginReportSetReport( String report );
void visitRepository( Repository repository );
void visitRepositoryRelease( RepositoryPolicy releases );
void visitRepositorySnapshot( RepositoryPolicy snapshots );
void visitScm( Scm scm );
}