public VALUE put(final KEY key, final VALUE value) { int hashCode = 0; int index = 0; if (key != null) { hashCode = key.hashCode(); index = (hashCode & 0x7FFFFFFF) % mapTable.length; for (Entry<KEY, VALUE> e = mapTable[index]; e != null; e = e.next) { if ((e.hashCode == hashCode) && key.equals(e.key)) { return swapValue(e, value); } } } else { for (Entry<KEY, VALUE> e = mapTable[0]; e != null; e = e.next) { if (e.key == null) { return swapValue(e, value); } } } ensureCapacity(); index = (hashCode & 0x7FFFFFFF) % mapTable.length; Entry<KEY, VALUE> e = new Entry<KEY, VALUE>(hashCode, key, value, mapTable[index]); mapTable[index] = e; listTable[size++] = e; return null; }
private MethodMetadata getCountByParentMethod() { if (parentProperty == null) { return null; } JavaSymbolName methodName = new JavaSymbolName("count" + plural + "ByParentId"); final JavaType idType = KEY.equals(identifierField.getFieldType()) ? STRING : identifierField.getFieldType(); final JavaType[] parameterTypes = {idType}; final MethodMetadata method = getGovernorMethod(methodName, parameterTypes); if (method != null) { return method; } final String idParamName = StringUtils.uncapitalize(parentProperty.getFieldType().getSimpleTypeName()) + "Id"; final List<JavaSymbolName> parameterNames = Arrays.asList(new JavaSymbolName(idParamName)); MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder( getId(), PUBLIC_ABSTRACT, methodName, LONG_PRIMITIVE, AnnotatedJavaType.convertFromJavaTypes(parameterTypes), parameterNames, BODY); return methodBuilder.build(); }
private MethodMetadata getFindByStringIdMethod() { if (!KEY.equals(identifierField.getFieldType())) { return null; } final String idFieldName = identifierField.getFieldName().getSymbolName(); final JavaSymbolName methodName = new JavaSymbolName("find" + destination.getSimpleTypeName() + "ByStringId"); final JavaType parameterType = STRING; final List<JavaSymbolName> parameterNames = Arrays.asList(new JavaSymbolName(idFieldName)); final JavaType returnType = destination; // Check if a method with the same signature already exists in the target type final MethodMetadata method = getGovernorMethod(methodName, parameterType); if (method != null) { // If it already exists, just return the method and omit its generation via the ITD return method; } final MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder( getId(), PUBLIC_ABSTRACT, methodName, returnType, AnnotatedJavaType.convertFromJavaTypes(parameterType), parameterNames, BODY); return methodBuilder.build(); }
@Override public boolean equals(final Object o) { if (this == o) { return true; } @SuppressWarnings("unchecked") final Entry<KEY, VALUE> e = (Entry<KEY, VALUE>) o; return (key != null ? key.equals(e.key) : e.key == null) && (value != null ? value.equals(e.value) : e.value == null); }
/* * (non-Javadoc) * @see com.extjs.gxt.ui.client.data.ModelData#get(java.lang.String) */ @Override @SuppressWarnings("unchecked") public <X> X get(String property) { if (KEY.equals(property)) { return (X) value; } else if (DISPLAY_NAME.equals(property)) { return (X) getDisplayName(); } throw new IllegalArgumentException("Invalid property"); }
private MethodMetadata getFindEntriesByParentMethod() { if (parentProperty == null) { return null; } JavaSymbolName methodName = new JavaSymbolName("find" + domainType.getSimpleTypeName() + "EntriesByParentId"); final JavaType idType = KEY.equals(identifierField.getFieldType()) ? STRING : identifierField.getFieldType(); final JavaType[] parameterTypes = {idType, INT_PRIMITIVE, INT_PRIMITIVE}; final MethodMetadata method = getGovernorMethod(methodName, parameterTypes); if (method != null) { return method; } final String idParamName = StringUtils.uncapitalize(parentProperty.getFieldType().getSimpleTypeName()) + "Id"; final List<JavaSymbolName> parameterNames = Arrays.asList( new JavaSymbolName(idParamName), new JavaSymbolName("firstResult"), new JavaSymbolName("maxResults")); final JavaType returnType = new JavaType( LIST.getFullyQualifiedTypeName(), 0, DataType.TYPE, null, Arrays.asList(domainType)); final MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder( getId(), PUBLIC_ABSTRACT, methodName, returnType, AnnotatedJavaType.convertFromJavaTypes(parameterTypes), parameterNames, BODY); return methodBuilder.build(); }