keycloak-federation
静的公開メンバ関数 | 静的関数 | 静的変数 | 全メンバ一覧
org.freedesktop.dbus.ArrayFrob クラス
org.freedesktop.dbus.ArrayFrob 連携図
Collaboration graph

静的公開メンバ関数

static< T > T [] wrap (Object o) throws IllegalArgumentException
 
static< T > Object unwrap (T[] ns) throws IllegalArgumentException
 
static< T > List< T > listify (T[] ns) throws IllegalArgumentException
 
static< T > List< T > listify (Object o) throws IllegalArgumentException
 
static< T > T [] delist (List< T > l, Class< T > c) throws IllegalArgumentException
 
static< T > Object delistprimitive (List< T > l, Class< T > c) throws IllegalArgumentException
 
static Object convert (Object o, Class<? extends Object > c) throws IllegalArgumentException
 
static Object [] type (Object[] old, Class< Object > c)
 

静的関数

 [static initializer]
 

静的変数

static Hashtable< Class<? extends Object >, Class<? extends Object > > primitiveToWrapper = new Hashtable<Class<? extends Object>, Class<? extends Object>>()
 
static Hashtable< Class<? extends Object >, Class<? extends Object > > wrapperToPrimitive = new Hashtable<Class<? extends Object>, Class<? extends Object>>()
 

詳解

関数詳解

◆ [static initializer]()

org.freedesktop.dbus.ArrayFrob.[static initializer] ( )
inlinestaticpackage

◆ convert()

static Object org.freedesktop.dbus.ArrayFrob.convert ( Object  o,
Class<? extends Object >  c 
) throws IllegalArgumentException
inlinestatic
100  {
101  /* Possible Conversions:
102  *
103  ** List<Integer> -> List<Integer>
104  ** List<Integer> -> int[]
105  ** List<Integer> -> Integer[]
106  ** int[] -> int[]
107  ** int[] -> List<Integer>
108  ** int[] -> Integer[]
109  ** Integer[] -> Integer[]
110  ** Integer[] -> int[]
111  ** Integer[] -> List<Integer>
112  */
113  try {
114  // List<Integer> -> List<Integer>
115  if (List.class.equals(c)
116  && o instanceof List)
117  return o;
118 
119  // int[] -> List<Integer>
120  // Integer[] -> List<Integer>
121  if (List.class.equals(c)
122  && o.getClass().isArray())
123  return listify(o);
124 
125  // int[] -> int[]
126  // Integer[] -> Integer[]
127  if (o.getClass().isArray()
128  && c.isArray()
129  && o.getClass().getComponentType().equals(c.getComponentType()))
130  return o;
131 
132  // int[] -> Integer[]
133  if (o.getClass().isArray()
134  && c.isArray()
135  && o.getClass().getComponentType().isPrimitive())
136  return wrap(o);
137 
138  // Integer[] -> int[]
139  if (o.getClass().isArray()
140  && c.isArray()
141  && c.getComponentType().isPrimitive())
142  return unwrap((Object[]) o);
143 
144  // List<Integer> -> int[]
145  if (o instanceof List
146  && c.isArray()
147  && c.getComponentType().isPrimitive())
148  return delistprimitive((List<Object>) o, (Class<Object>) c.getComponentType());
149 
150  // List<Integer> -> Integer[]
151  if (o instanceof List
152  && c.isArray())
153  return delist((List<Object>) o, (Class<Object>) c.getComponentType());
154 
155  if (o.getClass().isArray()
156  && c.isArray())
157  return type((Object[]) o, (Class<Object>) c.getComponentType());
158 
159  } catch (Exception e) {
160  if (AbstractConnection.EXCEPTION_DEBUG && Debug.debug) Debug.print(Debug.ERR, e);
161  throw new IllegalArgumentException(e);
162  }
163 
164  throw new IllegalArgumentException(MessageFormat.format(getString("convertionTypeNotExpected"), new Object[]{o.getClass(), c}));
165  }
static Object [] type(Object[] old, Class< Object > c)
Definition: ArrayFrob.java:167
static< T > T [] delist(List< T > l, Class< T > c)
Definition: ArrayFrob.java:88
static< T > T [] wrap(Object o)
Definition: ArrayFrob.java:49
static< T > List< T > listify(T[] ns)
Definition: ArrayFrob.java:73
static< T > Object delistprimitive(List< T > l, Class< T > c)
Definition: ArrayFrob.java:92
static< T > Object unwrap(T[] ns)
Definition: ArrayFrob.java:62

◆ delist()

static <T> T [] org.freedesktop.dbus.ArrayFrob.delist ( List< T >  l,
Class< T >  c 
) throws IllegalArgumentException
inlinestatic
88  {
89  return l.toArray((T[]) Array.newInstance(c, 0));
90  }

◆ delistprimitive()

static <T> Object org.freedesktop.dbus.ArrayFrob.delistprimitive ( List< T >  l,
Class< T >  c 
) throws IllegalArgumentException
inlinestatic
92  {
93  Object o = Array.newInstance(c, l.size());
94  for (int i = 0; i < l.size(); i++)
95  Array.set(o, i, l.get(i));
96  return o;
97  }

◆ listify() [1/2]

static <T> List<T> org.freedesktop.dbus.ArrayFrob.listify ( T []  ns) throws IllegalArgumentException
inlinestatic
73  {
74  return Arrays.asList(ns);
75  }

◆ listify() [2/2]

static <T> List<T> org.freedesktop.dbus.ArrayFrob.listify ( Object  o) throws IllegalArgumentException
inlinestatic
78  {
79  if (o instanceof Object[]) return listify((T[]) o);
80  if (!o.getClass().isArray()) throw new IllegalArgumentException(getString("invalidArray"));
81  List<T> l = new ArrayList<T>(Array.getLength(o));
82  for (int i = 0; i < Array.getLength(o); i++)
83  l.add((T) Array.get(o, i));
84  return l;
85  }
static< T > List< T > listify(T[] ns)
Definition: ArrayFrob.java:73

◆ type()

static Object [] org.freedesktop.dbus.ArrayFrob.type ( Object []  old,
Class< Object >  c 
)
inlinestatic
167  {
168  Object[] ns = (Object[]) Array.newInstance(c, old.length);
169  for (int i = 0; i < ns.length; i++)
170  ns[i] = old[i];
171  return ns;
172  }

◆ unwrap()

static <T> Object org.freedesktop.dbus.ArrayFrob.unwrap ( T []  ns) throws IllegalArgumentException
inlinestatic
62  {
63  Class<? extends T[]> ac = (Class<? extends T[]>) ns.getClass();
64  Class<T> cc = (Class<T>) ac.getComponentType();
65  Class<? extends Object> ncc = wrapperToPrimitive.get(cc);
66  if (null == ncc) throw new IllegalArgumentException(getString("invalidWrapperType"));
67  Object o = Array.newInstance(ncc, ns.length);
68  for (int i = 0; i < ns.length; i++)
69  Array.set(o, i, ns[i]);
70  return o;
71  }
static Hashtable< Class<? extends Object >, Class<? extends Object > > wrapperToPrimitive
Definition: ArrayFrob.java:26

◆ wrap()

static <T> T [] org.freedesktop.dbus.ArrayFrob.wrap ( Object  o) throws IllegalArgumentException
inlinestatic
49  {
50  Class<? extends Object> ac = o.getClass();
51  if (!ac.isArray()) throw new IllegalArgumentException(getString("invalidArray"));
52  Class<? extends Object> cc = ac.getComponentType();
53  Class<? extends Object> ncc = primitiveToWrapper.get(cc);
54  if (null == ncc) throw new IllegalArgumentException(getString("notPrimitiveType"));
55  T[] ns = (T[]) Array.newInstance(ncc, Array.getLength(o));
56  for (int i = 0; i < ns.length; i++)
57  ns[i] = (T) Array.get(o, i);
58  return ns;
59  }
static Hashtable< Class<? extends Object >, Class<? extends Object > > primitiveToWrapper
Definition: ArrayFrob.java:25

メンバ詳解

◆ primitiveToWrapper

Hashtable<Class<? extends Object>, Class<? extends Object> > org.freedesktop.dbus.ArrayFrob.primitiveToWrapper = new Hashtable<Class<? extends Object>, Class<? extends Object>>()
staticpackage

◆ wrapperToPrimitive

Hashtable<Class<? extends Object>, Class<? extends Object> > org.freedesktop.dbus.ArrayFrob.wrapperToPrimitive = new Hashtable<Class<? extends Object>, Class<? extends Object>>()
staticpackage

このクラス詳解は次のファイルから抽出されました: