001 package com.thaiopensource.util; 002 003 public class SinglePropertyMap implements PropertyMap { 004 private final PropertyId pid; 005 private final Object value; 006 007 public SinglePropertyMap(PropertyId pid, Object value) { 008 if (!(pid.getValueClass().isInstance(value))) { 009 if (value == null) 010 throw new NullPointerException(); 011 throw new ClassCastException(); 012 } 013 this.pid = pid; 014 this.value = value; 015 } 016 017 public Object get(PropertyId pid) { 018 if (pid != this.pid) 019 return null; 020 return value; 021 } 022 023 public boolean contains(PropertyId pid) { 024 return pid == this.pid; 025 } 026 027 public int size() { 028 return 1; 029 } 030 031 public PropertyId getKey(int i) { 032 if (i != 0) 033 throw new IndexOutOfBoundsException(); 034 return pid; 035 } 036 }