@@ -93,26 +93,32 @@ public boolean hasExtension(String extension) {
9393 return extensions .containsKey (extension );
9494 }
9595
96+ @ Override
97+ public Map <String , Object > getExtensionMembers () {
98+ return Collections .unmodifiableMap (extensions );
99+ }
100+
96101 @ Override
97102 public boolean equals (Object obj ) {
98103 if (this == obj ) {
99104 return true ;
100105 }
101- if (obj == null || getClass () != obj . getClass ( )) {
106+ if (!( obj instanceof Problem )) {
102107 return false ;
103108 }
104- ProblemImpl problem = (ProblemImpl ) obj ;
109+ Problem problem = (Problem ) obj ;
105110 return Objects .equals (getType (), problem .getType ())
106111 && Objects .equals (getTitle (), problem .getTitle ())
107112 && getStatus () == problem .getStatus ()
108113 && Objects .equals (getDetail (), problem .getDetail ())
109114 && Objects .equals (getInstance (), problem .getInstance ())
110- && Objects .equals (extensions , problem .extensions );
115+ && Objects .equals (getExtensionMembers () , problem .getExtensionMembers () );
111116 }
112117
113118 @ Override
114119 public int hashCode () {
115- return Objects .hash (getType (), getTitle (), getStatus (), getDetail (), getInstance (), extensions );
120+ return Objects .hash (
121+ getType (), getTitle (), getStatus (), getDetail (), getInstance (), getExtensionMembers ());
116122 }
117123
118124 @ Override
@@ -132,11 +138,9 @@ public String toString() {
132138 lines .add ("\" instance\" : \" " + quote (getInstance ().toString ()) + "\" " );
133139 }
134140
135- getExtensions ()
141+ getExtensionMembers ()
136142 .forEach (
137- field -> {
138- Object value = getExtensionValue (field );
139-
143+ (field , value ) -> {
140144 if (value == null ) {
141145 return ;
142146 }
@@ -193,10 +197,10 @@ public boolean equals(Object obj) {
193197 if (this == obj ) {
194198 return true ;
195199 }
196- if (obj == null || getClass () != obj . getClass ( )) {
200+ if (!( obj instanceof Extension )) {
197201 return false ;
198202 }
199- ExtensionImpl extension = (ExtensionImpl ) obj ;
203+ Extension extension = (Extension ) obj ;
200204 return Objects .equals (getKey (), extension .getKey ())
201205 && Objects .equals (getValue (), extension .getValue ());
202206 }
0 commit comments