1
/*___INFO__MARK_BEGIN__*/
2
/*************************************************************************
4
* The Contents of this file are made available subject to the terms of
5
* the Sun Industry Standards Source License Version 1.2
7
* Sun Microsystems Inc., March, 2001
10
* Sun Industry Standards Source License Version 1.2
11
* =================================================
12
* The contents of this file are subject to the Sun Industry Standards
13
* Source License Version 1.2 (the "License"); You may not use this file
14
* except in compliance with the License. You may obtain a copy of the
15
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
17
* Software provided under this License is provided on an "AS IS" basis,
18
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
19
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
20
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
21
* See the License for the specific provisions governing your rights and
22
* obligations concerning the Software.
24
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
26
* Copyright: 2001 by Sun Microsystems, Inc.
28
* All Rights Reserved.
30
************************************************************************/
31
/*___INFO__MARK_END__*/
32
package com.sun.grid.jgdi.configuration.reflect;
34
import com.sun.grid.jgdi.configuration.reflect.*;
40
public abstract class MapPropertyDescriptor extends PropertyDescriptor {
42
private int keyCullFieldName;
43
private int valueCullFieldName;
44
private Class keyType;
45
private Object defaultKey;
47
protected MapPropertyDescriptor(Class beanClass, String propertyName,
48
Class propertyType, String cullType, Class keyType, int cullFieldName,
49
int keyCullFieldName, int valueCullFieldName,
50
Object defaultKey, boolean readOnly, boolean configurable ) {
51
super(beanClass, propertyName, propertyType, cullType, cullFieldName, readOnly, configurable);
52
this.keyCullFieldName = keyCullFieldName;
53
this.valueCullFieldName = valueCullFieldName;
54
this.keyType = keyType;
55
this.defaultKey = defaultKey;
58
public abstract Object get(Object bean, Object key);
59
public abstract void put(Object bean, Object key, Object value);
60
public abstract Object remove(Object bean, Object key);
61
public abstract void removeAll(Object bean);
62
public abstract Set getKeys(Object bean);
63
public abstract int getCount(Object bean);
65
public Object getDefaultKey() {
69
public int getKeyCullFieldName() {
70
return keyCullFieldName;
73
public int getValueCullFieldName() {
74
return valueCullFieldName;
77
public Class getKeyType() {
81
public String toString(Object obj, Object key) {
82
Object value = get(obj,key);
86
return value.toString();