public static <X, Y> Pair<X, Y> newPair(X x, Y y) { return new Pair<X, Y>(x, y); }
private void pushStack() { _startOrderStack.addLast(new Pair<Integer, String>(_startOrder, EMPTY_STRING)); _startOrder += STARTORDER_INCREMENT; _currentDepth++; }
private void pushStack() { _nodeStack.add(new Pair<Integer, String>(_preOrder++, EMPTY_STR)); }
static Pair<String, String> pickRelationName(String pairedName) { Matcher m = null; m = pairedNamePattern.matcher(pairedName); if (!m.matches()) return null; else return new Pair<String, String>(getCanonicalParameterName(m.group(1)), getCanonicalParameterName(m.group(2))); }
public static Pair<Type, Type> getGenericMapElementTypes(Field field) { if (!TypeInfo.isMap(field.getType())) throw new XerialError(XerialErrorCode.INVALID_INPUT, "not a map type: " + field); Type fieldType = field.getGenericType(); if (ParameterizedType.class.isInstance(fieldType)) { ParameterizedType pt = ParameterizedType.class.cast(fieldType); Type[] keyValueType = pt.getActualTypeArguments(); // TODO look up parent classes? if (keyValueType.length != 2) throw new XerialError(XerialErrorCode.INVALID_STATE, "not a Map<Key, Value> type: " + field); return new Pair<Type, Type>(keyValueType[0], keyValueType[1]); } return new Pair<Type, Type>(Object.class, Object.class); }
public static Pair<Class< ? >, Class< ? >> getGenericMapElementClasses(Field field) { Pair<Type, Type> t = getGenericMapElementTypes(field); return new Pair<Class< ? >, Class< ? >>(Class.class.cast(t.getFirst()), Class.class.cast(t .getSecond())); }
public static Pair<Class< ? >, Class< ? >> getGenericMapTypesOfMethodArgument(Method method, int argIndex) { ParameterizedType genericSetterArgumentType = getParentParameterizedType( method.getGenericParameterTypes()[argIndex], Map.class); if (genericSetterArgumentType != null) { Type[] actualTypeList = genericSetterArgumentType.getActualTypeArguments(); if (actualTypeList.length >= 2) { Class< ? > keyType = resolveRawType(actualTypeList[0]); Class< ? > valueType = resolveRawType(actualTypeList[1]); return new Pair<Class< ? >, Class< ? >>(keyType, valueType); } } return null; }
@Override public void text(XmlPullParser parser) throws XMLException { Pair<Integer, String> currentNode = _nodeStack.removeLast(); _nodeStack.addLast(new Pair<Integer, String>(currentNode.getFirst(), parser.getText())); }
@Override public void text(XmlPullParser parser) throws XMLException { Pair<Integer, String> currentNode = _startOrderStack.removeLast(); String text = parser.getText(); _startOrderStack.addLast(new Pair<Integer, String>(currentNode.getFirst(), currentNode .getSecond() == null ? text : currentNode.getSecond() + text)); }