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.*;
35
import java.util.List;
41
public abstract class MapListPropertyDescriptor extends PropertyDescriptor {
43
private int keyCullFieldName;
44
private int valueCullFieldName;
45
private Class keyType;
46
private String cullListType;
47
private Object defaultKey;
49
protected MapListPropertyDescriptor(Class beanClass, String propertyName,
50
Class propertyType, String cullType, Class keyType, String cullListType, int cullFieldName,
51
int keyCullFieldName, int valueCullFieldName,
52
Object defaultKey, boolean readOnly, boolean configurable ) {
53
super(beanClass, propertyName, propertyType, cullType, cullFieldName, readOnly, configurable);
54
this.keyCullFieldName = keyCullFieldName;
55
this.valueCullFieldName = valueCullFieldName;
56
this.keyType = keyType;
57
this.cullListType = cullListType;
58
this.defaultKey = defaultKey;
61
public abstract Object get(Object bean, Object key, int index);
62
public abstract void add(Object bean, Object key, Object value);
63
public abstract void addEmpty(Object bean, Object key);
64
public abstract void set(Object bean, Object key, int index, Object value);
66
public abstract Object remove(Object bean, Object key, int index);
67
public abstract boolean remove(Object bean, Object key, Object value);
69
public abstract void removeAll(Object bean);
70
public abstract void removeAll(Object bean, Object key);
72
public abstract Set getKeys(Object bean);
73
public abstract List getList(Object bean, Object key);
74
public abstract int getCount(Object bean, Object key);
76
public Object getDefaultKey() {
80
public int getKeyCullFieldName() {
81
return keyCullFieldName;
84
public int getValueCullFieldName() {
85
return valueCullFieldName;
88
public Class getKeyType() {
92
public String getCullListType() {
96
public String toString(Object obj, Object key, int index) {
97
Object value = get(obj,key, index);
101
return value.toString();