001    package biz.hammurapi.properties;
002    
003    import java.util.Set;
004    
005    /**
006     * Delegates all calls to the master property set.
007     * Developers can override some methods, e.g. convert properties
008     * from one type to another. 
009     * @author Pavel
010     *
011     */
012    public class PropertySetFilter implements PropertySet {
013            
014            protected PropertySet master;
015            
016            public PropertySetFilter(PropertySet master) {
017                    this.master = master;
018            }
019    
020            public void clear() {
021                    master.clear();
022            }
023    
024            public boolean compareProperties(PropertySet otherSet) {
025                    return master.compareProperties(otherSet);
026            }
027    
028            public boolean containsAll(PropertySet subSet) {
029                    return master.containsAll(subSet);
030            }
031    
032            public Object get(String name) {
033                    return master.get(name);
034            }
035    
036            public Set getPropertyNames() {
037                    return master.getPropertyNames();
038            }
039    
040            public PropertySet getSubset(String prefix) {
041                    return master.getSubset(prefix);
042            }
043    
044            public void mount(String prefix, PropertySet source) {
045                    master.mount(prefix, source);
046            }
047    
048            public boolean remove(String name) {
049                    return master.remove(name);
050            }
051    
052            public void set(String name, Object value) {
053                    master.set(name, value);
054            }
055    
056            public void setAll(PropertySet source) {
057                    master.setAll(source);
058            }
059    
060            public Object get(String name, Object defaultValue) {
061                    return master.get(name, defaultValue);
062            }
063            
064            
065    }