BAEL-4007 Interface Segregation Principle (#9579)
Co-authored-by: Dhrubajyoti Bhattacharjee <dhrubajyoti.bhattacharjee@ul.com>
This commit is contained in:
parent
0f02de64a2
commit
70fe4a3ca9
@ -0,0 +1,5 @@
|
|||||||
|
package com.baeldung.i.fixed;
|
||||||
|
|
||||||
|
public interface Bank extends Payment {
|
||||||
|
void initiatePayments();
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.baeldung.i.fixed;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BankPayment implements Bank {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiatePayments() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object status() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Object> getPayments() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
package com.baeldung.i.fixed;
|
||||||
|
|
||||||
|
public interface Loan extends Payment {
|
||||||
|
void intiateLoanSettlement();
|
||||||
|
void initiateRePayment();
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.baeldung.i.fixed;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class LoanPayment implements Loan {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void intiateLoanSettlement() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiateRePayment() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object status() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Object> getPayments() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.baeldung.i.fixed;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface Payment {
|
||||||
|
Object status();
|
||||||
|
List<Object> getPayments();
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.baeldung.i.polluted;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class BankPayment implements Payment {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiatePayments() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object status() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Object> getPayments() {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void intiateLoanSettlement() {
|
||||||
|
throw new UnsupportedOperationException("This is not a loan payment");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiateRePayment() {
|
||||||
|
throw new UnsupportedOperationException("This is not a loan payment");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.baeldung.i.polluted;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class LoanPayment implements Payment {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiatePayments() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object status() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Object> getPayments() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void intiateLoanSettlement() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initiateRePayment() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package com.baeldung.i.polluted;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface Payment {
|
||||||
|
void initiatePayments();
|
||||||
|
Object status();
|
||||||
|
List<Object> getPayments();
|
||||||
|
|
||||||
|
//Loan related methods
|
||||||
|
void intiateLoanSettlement();
|
||||||
|
void initiateRePayment();
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user