View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   //   Generated by Maven, any modifications will be overwritten.
3   // ==============================================================
4   package org.apache.maven.model;
5   
6   import java.io.Serializable;
7   import java.util.AbstractList;
8   import java.util.ArrayList;
9   import java.util.Collections;
10  import java.util.HashMap;
11  import java.util.List;
12  import java.util.Map;
13  import java.util.Objects;
14  import java.util.stream.Collectors;
15  import java.util.stream.Stream;
16  import org.apache.maven.api.annotations.Generated;
17  import org.apache.maven.api.annotations.Nonnull;
18  
19  @Generated
20  public class DependencyManagement
21      extends BaseObject
22  {
23  
24      public DependencyManagement()
25      {
26          this( org.apache.maven.api.model.DependencyManagement.newInstance() );
27      }
28  
29      public DependencyManagement( org.apache.maven.api.model.DependencyManagement delegate )
30      {
31          this( delegate, null );
32      }
33  
34      public DependencyManagement( org.apache.maven.api.model.DependencyManagement delegate, BaseObject parent )
35      {
36          super( delegate, parent );
37      }
38  
39      public DependencyManagement clone()
40      {
41          return new DependencyManagement( getDelegate() );
42      }
43  
44      public org.apache.maven.api.model.DependencyManagement getDelegate()
45      {
46          return ( org.apache.maven.api.model.DependencyManagement ) super.getDelegate();
47      }
48  
49      @Nonnull
50      public List<Dependency> getDependencies()
51      {
52          return new WrapperList<Dependency, org.apache.maven.api.model.Dependency>(
53                      () -> getDelegate().getDependencies(), l -> update( getDelegate().withDependencies( l ) ),
54                      d -> new Dependency( d, this ), Dependency::getDelegate );
55      }
56  
57      public void setDependencies( List<Dependency> dependencies )
58      {
59          if ( !Objects.equals( dependencies, getDelegate().getDependencies() ) )
60          {
61              update( getDelegate().withDependencies(
62                      dependencies.stream().map( c -> c.getDelegate() ).collect( Collectors.toList() ) ) );
63              dependencies.forEach( e -> e.childrenTracking = this::replace );
64          }
65      }
66  
67      public void addDependency( Dependency dependency )
68      {
69          update( getDelegate().withDependencies(
70                  Stream.concat( getDelegate().getDependencies().stream(), Stream.of( dependency.getDelegate() ) )
71                          .collect( Collectors.toList() ) ) );
72          dependency.childrenTracking = this::replace;
73      }
74  
75      public void removeDependency( Dependency dependency )
76      {
77          update( getDelegate().withDependencies(
78                  getDelegate().getDependencies().stream()
79                          .filter( e -> !Objects.equals( e, dependency ) )
80                          .collect( Collectors.toList() ) ) );
81          dependency.childrenTracking = null;
82      }
83  
84      public InputLocation getLocation( Object key )
85      {
86          org.apache.maven.api.model.InputLocation loc = getDelegate().getLocation( key );
87          return loc != null ? new InputLocation( loc ) : null;
88      }
89  
90      public void setLocation( Object key, InputLocation location )
91      {
92          update( org.apache.maven.api.model.DependencyManagement.newBuilder( getDelegate(), true )
93                          .location( key, location.toApiLocation() ).build() );
94      }
95  
96      protected boolean replace( Object oldDelegate, Object newDelegate )
97      {
98          if ( super.replace( oldDelegate, newDelegate ) )
99          {
100             return true;
101         }
102         if ( getDelegate().getDependencies().contains( oldDelegate ) )
103         {
104             List<org.apache.maven.api.model.Dependency> list = new ArrayList<>( getDelegate().getDependencies() );
105             list.replaceAll( d -> d == oldDelegate ? ( org.apache.maven.api.model.Dependency ) newDelegate : d );
106             update( getDelegate().withDependencies( list ) );
107             return true;
108         }
109         return false;
110     }
111 
112     public static List<org.apache.maven.api.model.DependencyManagement> dependencyManagementToApiV4( List<DependencyManagement> list )
113     {
114         return list != null ? new WrapperList<>( list, DependencyManagement::getDelegate, DependencyManagement::new ) : null;
115     }
116 
117     public static List<DependencyManagement> dependencyManagementToApiV3( List<org.apache.maven.api.model.DependencyManagement> list )
118     {
119         return list != null ? new WrapperList<>( list, DependencyManagement::new, DependencyManagement::getDelegate ) : null;
120     }
121 
122 }