View Javadoc

1   package org.apache.maven.lifecycle;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.plugin.MojoExecution;
23  
24  import java.util.List;
25  
26  /**
27   * Class Scheduling.
28   * 
29   * @since 3.0
30   */
31  public class Scheduling
32  {
33      private String lifecycle;
34  
35      private List<Schedule> schedules;
36  
37      public Scheduling()
38      {
39      }
40  
41      public Scheduling( String lifecycle, List<Schedule> schedules )
42      {
43          this.lifecycle = lifecycle;
44          this.schedules = schedules;
45      }
46  
47      public String getLifecycle()
48      {
49          return lifecycle;
50      }
51  
52      public void setLifecycle( String lifecycle )
53      {
54          this.lifecycle = lifecycle;
55      }
56  
57      public List<Schedule> getSchedules()
58      {
59          return schedules;
60      }
61  
62  
63      public Schedule getSchedule( String phaseName )
64      {
65          if ( phaseName == null )
66          {
67              return null;
68          }
69          for ( Schedule schedule : schedules )
70          {
71              if ( phaseName.equals( schedule.getPhase() ) )
72              {
73                  return schedule;
74              }
75          }
76          return null;
77      }
78  
79      public Schedule getSchedule( MojoExecution mojoExecution )
80      {
81          if ( mojoExecution == null )
82          {
83              return null;
84          }
85          for ( Schedule schedule : schedules )
86          {
87              if ( schedule.appliesTo( mojoExecution ) )
88              {
89                  return schedule;
90              }
91          }
92          return null;
93      }
94  
95      public void setSchedules( List<Schedule> schedules )
96      {
97          this.schedules = schedules;
98      }
99  }