Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DataServiceCalledByUIPresenterOrSomething {
- public DAO nsaDao;
- public StupidTransferObject loadLeakedUFOData(Id ufoId) {
- BusinessObjectInterface businessObject = nsaDao.loadBusinessObject(ufoId);
- return (StupidTransferObject) businessObject.createSecureTransferObject(StupidTransferObject.class);
- }
- }
- public class NSABusinessObjectImpl implements TransferObjectEnabled {
- private String totally;
- private String secret;
- private String data;
- public TransferObject createSecureTransferObject(Class transferObjectClass) {
- // do this better with reflection and/or dependency injection via a map of factories
- // implementation depends on how harcoded it should be, this is just for demo purposes
- // want it easy… return a save map or list of clones or whatever you need, TOs are not everything mho :P
- if(StupidTransferObject instanceOf transferObjectClass) {
- StupidTransferObject propaganda = new StupidTransferObject();
- propanda.some = fuckUpDataSoNobodyWillUnderstand(totally);
- propanda.truth = fuckUpDataSoNobodyWillUnderstand(secret);
- propanda.forTheMasses = fuckUpDataSoNobodyWillUnderstand(data);
- return propaganda;
- } else if(AnotherStupidTransferObject instanceOf transferObjectClass) {
- //...
- } else {
- throw new InvalidRequestRuntimeException("No no no no! :P ");
- }
- }
- private String fuckUpDataSoNobodyWillUnderstand(String data) {
- // fuck up the data...
- // return a clone of the truth
- return fuckedUp.clone();
- }
- }
- public class StupidTransferObject implements TransferObject {
- public String some;
- public String truth;
- public String forTheMasses;
- }
- //interfaces
- public Interface TransferObject {
- // marker
- }
- public Interface TransferObjectEnabled {
- TransferObject createSecureTransferObject(Class transferObjectClass);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement