Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.lib / src / main / java / org / gvsig / tools / persistence / impl / Domains.java @ 73

History | View | Annotate | Download (1.11 KB)

1
package org.gvsig.tools.persistence.impl;
2

    
3
import java.util.HashMap;
4

    
5
import org.gvsig.tools.persistence.PersistenceManager;
6
import org.gvsig.tools.persistence.impl.exception.PersistenceDuplicateDomainNameException;
7
import org.gvsig.tools.persistence.impl.exception.PersistenceInvalidDomainNameException;
8

    
9
public class Domains extends HashMap {
10

    
11
        /**
12
         * 
13
         */
14
        private static final long serialVersionUID = 2234063626012628366L;
15

    
16
        public Domains() {
17
                super();
18
        }
19
        
20
        public void add(String name, String url) {
21
                this.put(name, url);
22
        }
23
        
24
        public String getUrl(String name) {
25
                return this.getUrl(name);
26
        }
27
        
28
        public Object put(String name, String url) {
29
                if (name == null) {
30
                        throw new PersistenceInvalidDomainNameException();
31
                }
32
                String currentUrl = (String) super.get(name);
33
                // Error if the provided domain URL is not the same as the 
34
                // previously stored one for the same domain
35
                if ( currentUrl != null && !currentUrl.equals(url)) {
36
                        throw new PersistenceDuplicateDomainNameException(name, currentUrl, url);
37
                }
38
                if( url == null ) {
39
                        url = PersistenceManager.DEFAULT_DOMAIN_URL;
40
                }
41
                return super.put(name, url);
42
        }
43
        
44
}