comparison artifact-database/src/main/java/org/dive4elements/artifactdatabase/LazyBackendUser.java @ 473:d0ac790a6c89 dive4elements-move

Moved directories to org.dive4elements
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 10:57:18 +0200
parents artifact-database/src/main/java/de/intevation/artifactdatabase/LazyBackendUser.java@4748949c4f19
children 415df0fc4fa1
comparison
equal deleted inserted replaced
472:783cc1b6b615 473:d0ac790a6c89
1 /*
2 * Copyright (c) 2011 by Intevation GmbH
3 *
4 * This program is free software under the LGPL (>=v2.1)
5 * Read the file LGPL.txt coming with the software for details
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
7 */
8 package de.intevation.artifactdatabase;
9
10 import de.intevation.artifacts.User;
11 import de.intevation.artifacts.UserFactory;
12
13 import org.w3c.dom.Document;
14
15 public class LazyBackendUser
16 implements User
17 {
18 protected UserFactory factory;
19 protected Backend backend;
20 protected String identifier;
21 protected User user;
22 protected Object context;
23
24 public LazyBackendUser(
25 String identifier,
26 UserFactory factory,
27 Backend backend,
28 Object context
29 ) {
30 this.identifier = identifier;
31 this.factory = factory;
32 this.backend = backend;
33 this.context = context;
34 }
35
36 protected User getUser() {
37 if (user == null) {
38 user = backend.getUser(identifier, factory, context);
39 if (user == null) {
40 throw new IllegalStateException("loading user failed");
41 }
42 }
43 return user;
44 }
45
46 @Override
47 public String identifier() {
48 return getUser().identifier();
49 }
50
51 @Override
52 public String getName() {
53 return getUser().getName();
54 }
55
56 @Override
57 public void setName(String name) {
58 getUser().setName(name);
59 }
60
61 @Override
62 public void setIdentifier(String identifier) {
63 getUser().setIdentifier(identifier);
64 }
65
66 @Override
67 public Document getRole() {
68 return getUser().getRole();
69 }
70
71 @Override
72 public void setRole(Document document) {
73 getUser().setRole(document);
74 }
75
76 @Override
77 public String getAccount() {
78 return getUser().getAccount();
79 }
80 }
81 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org