1
2
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 PluginConfiguration
21 extends PluginContainer
22 implements Serializable, Cloneable
23 {
24
25 public PluginConfiguration()
26 {
27 this( org.apache.maven.api.model.PluginConfiguration.newInstance() );
28 }
29
30 public PluginConfiguration( org.apache.maven.api.model.PluginConfiguration delegate )
31 {
32 this( delegate, null );
33 }
34
35 public PluginConfiguration( org.apache.maven.api.model.PluginConfiguration delegate, BaseObject parent )
36 {
37 super( delegate, parent );
38 }
39
40 public PluginConfiguration clone()
41 {
42 return new PluginConfiguration( getDelegate() );
43 }
44
45 @Override
46 public org.apache.maven.api.model.PluginConfiguration getDelegate()
47 {
48 return ( org.apache.maven.api.model.PluginConfiguration ) super.getDelegate();
49 }
50
51 public PluginManagement getPluginManagement()
52 {
53 return getDelegate().getPluginManagement() != null ? new PluginManagement( getDelegate().getPluginManagement(), this ) : null;
54 }
55
56 public void setPluginManagement( PluginManagement pluginManagement )
57 {
58 if ( !Objects.equals( pluginManagement, getDelegate().getPluginManagement() ) )
59 {
60 update( getDelegate().withPluginManagement( pluginManagement.getDelegate() ) );
61 pluginManagement.childrenTracking = this::replace;
62 }
63 }
64
65 public InputLocation getLocation( Object key )
66 {
67 org.apache.maven.api.model.InputLocation loc = getDelegate().getLocation( key );
68 return loc != null ? new InputLocation( loc ) : null;
69 }
70
71 public void setLocation( Object key, InputLocation location )
72 {
73 update( org.apache.maven.api.model.PluginConfiguration.newBuilder( getDelegate(), true )
74 .location( key, location.toApiLocation() ).build() );
75 }
76
77 protected boolean replace( Object oldDelegate, Object newDelegate )
78 {
79 if ( super.replace( oldDelegate, newDelegate ) )
80 {
81 return true;
82 }
83 if ( oldDelegate == getDelegate().getPluginManagement() )
84 {
85 update( getDelegate().withPluginManagement( ( org.apache.maven.api.model.PluginManagement ) newDelegate ) );
86 return true;
87 }
88 return false;
89 }
90
91 public static List<org.apache.maven.api.model.PluginConfiguration> pluginConfigurationToApiV4( List<PluginConfiguration> list )
92 {
93 return list != null ? new WrapperList<>( list, PluginConfiguration::getDelegate, PluginConfiguration::new ) : null;
94 }
95
96 public static List<PluginConfiguration> pluginConfigurationToApiV3( List<org.apache.maven.api.model.PluginConfiguration> list )
97 {
98 return list != null ? new WrapperList<>( list, PluginConfiguration::new, PluginConfiguration::getDelegate ) : null;
99 }
100
101 }