/** * Accessor for the value type for this Map. * @return Name of value type. */ public String getValueType() { return mmd.getMap().getValueType(); }
public String getValueType() { return getInternal().getValueType(); }
private Object getMapValueForReturnValue(AbstractMemberMetaData mmd, Object value) { String valueType = mmd.getMap().getValueType(); Class valueCls = ec.getClassLoaderResolver().classForName(valueType); if (valueCls == Long.class || valueCls == Double.class || valueCls == Float.class || valueCls == Integer.class || valueCls == Short.class || valueCls == String.class) { return value; } else if (Enum.class.isAssignableFrom(valueCls)) { return Enum.valueOf(valueCls, (String)value); } else { throw new NucleusException("Dont currently support persistence/retrieval of maps with values of type " + valueType); } } }
public String getXMLForMetaData(MapMetaData mapmd, String prefix, String indent) str.append(prefix).append("<map key-type=\"").append(mapmd.getKeyType()).append("\" value-type=\"").append(mapmd.getValueType()).append("\""); if (mapmd.isEmbeddedKey())
private Object convertPojoMapToDatastoreValue( ClassLoaderResolver clr, AbstractMemberMetaData ammd, Map value) { if (value == null) { return null; } List result = Utils.newArrayList(); Iterator entryIter = value.entrySet().iterator(); Class keyType = clr.classForName(ammd.getMap().getKeyType()); Class valType = clr.classForName(ammd.getMap().getValueType()); while (entryIter.hasNext()) { Map.Entry entry = (Map.Entry)entryIter.next(); Object key = entry.getKey(); Function keyFunc = pojoToDatastoreTypeFunction.get(keyType); if (keyFunc != null) { result.add(keyFunc.apply(key)); } else { result.add(key); } Object val = entry.getValue(); Function valFunc = pojoToDatastoreTypeFunction.get(valType); if (valFunc != null) { result.add(valFunc.apply(val)); } else { result.add(val); } } return result; }
public <K, V> MapAttribute<? super X, K, V> getMap(String attr, Class<K> keyType, Class<V> valueType) { AttributeImpl<X, ?> theAttr = (AttributeImpl<X, ?>) attributes.get(attr); if (theAttr == null) { throw new IllegalArgumentException("Attribute " + attr + " was not found in class"); } AbstractMemberMetaData mmd = theAttr.getMetadata(); if (!Map.class.isAssignableFrom(mmd.getType())) { throw new IllegalArgumentException("Attribute " + attr + " isnt a Map"); } Class keyCls = model.getClassLoaderResolver().classForName(mmd.getMap().getKeyType()); if (!keyType.isAssignableFrom(keyCls)) { throw new IllegalArgumentException("Attribute " + attr + " doesn't have a Map with Key of type " + keyType.getName()); } Class valueCls = model.getClassLoaderResolver().classForName(mmd.getMap().getValueType()); if (!valueType.isAssignableFrom(valueCls)) { throw new IllegalArgumentException("Attribute " + attr + " doesn't have a Map with Value of type " + valueType.getName()); } return (MapAttribute<? super X, K, V>)theAttr; }
/** * Initialize this JavaTypeMapping with the given DatastoreAdapter for the given metadata. * @param mmd MetaData for the field to be mapped (if any) * @param table The datastore container storing this mapping (if any) * @param clr the ClassLoaderResolver */ public void initialize(AbstractMemberMetaData mmd, Table table, ClassLoaderResolver clr) { initialize(mmd, table, clr, mmd.getValueMetaData().getEmbeddedMetaData(), mmd.getMap().getValueType(), ObjectProvider.EMBEDDED_MAP_VALUE_PC); } }
Class valType = clr.classForName(ammd.getMap().getValueType()); Iterator iter = ((List)value).iterator(); while (iter.hasNext()) {
public <K, V> MapAttribute<X, K, V> getDeclaredMap(String attr, Class<K> keyType, Class<V> valueType) { AttributeImpl<X, ?> theAttr = (AttributeImpl<X, ?>) attributes.get(attr); if (theAttr == null) { throw new IllegalArgumentException("Attribute " + attr + " was not found in class"); } AbstractMemberMetaData mmd = theAttr.getMetadata(); if (!Map.class.isAssignableFrom(mmd.getType())) { throw new IllegalArgumentException("Attribute " + attr + " isnt a Map"); } Class keyCls = model.getClassLoaderResolver().classForName(mmd.getMap().getKeyType()); if (!keyType.isAssignableFrom(keyCls)) { throw new IllegalArgumentException("Attribute " + attr + " doesn't have a Map with Key of type " + keyType.getName()); } Class valueCls = model.getClassLoaderResolver().classForName(mmd.getMap().getValueType()); if (!valueType.isAssignableFrom(valueCls)) { throw new IllegalArgumentException("Attribute " + attr + " doesn't have a Map with Value of type " + valueType.getName()); } Class thisCls = model.getClassLoaderResolver().classForName(cmd.getFullClassName()); if (mmd.getMemberRepresented().getDeclaringClass() != thisCls) { throw new IllegalArgumentException("Attribute " + attr + " isn't defined in " + cmd.getFullClassName()); } return (MapAttribute<X, K, V>)theAttr; }
String valueType = ownerFmd.getMap().getValueType(); baseName = valueType.substring(valueType.lastIndexOf('.') + 1);
type = ec.getClassLoaderResolver().classForName(mmd.getMap().getValueType());
this.type = mmd.getMap().getValueType();
fieldTypeName = mmd.getMap().getValueType();
@Override public Class getJavaType() { ClassLoaderResolver clr = storeMgr.getNucleusContext().getClassLoaderResolver(null); if (mmd != null) { if (roleForMember == FieldRole.ROLE_COLLECTION_ELEMENT) { return clr.classForName(mmd.getCollection().getElementType()); } else if (roleForMember == FieldRole.ROLE_ARRAY_ELEMENT) { return clr.classForName(mmd.getArray().getElementType()); } else if (roleForMember == FieldRole.ROLE_MAP_KEY) { return clr.classForName(mmd.getMap().getKeyType()); } else if (roleForMember == FieldRole.ROLE_MAP_VALUE) { return clr.classForName(mmd.getMap().getValueType()); } return mmd.getType(); } return clr.classForName(type); }
if (mmd != null && mmd.getMap() != null) Class valCls = stmt.getQueryGenerator().getClassLoaderResolver().classForName(mmd.getMap().getValueType()); stmt.getQueryGenerator().bindParameter(valExpr.getParameterName(), valCls);
AbstractClassMetaData valueCmd = storeMgr.getNucleusContext().getMetaDataManager().getMetaDataForClass(ownerMmd.getMap().getValueType(), clr); mapTbl = storeMgr.getDatastoreClass(ownerMmd.getMap().getValueType(), clr); if (ownerMmd.getMappedBy() != null)
DatastoreClass valTable = storeMgr.getDatastoreClass(mapmd.getValueType(), clr); SQLTable valueSqlTbl = stmt.getTable(mapJoinAlias+"_VALUE"); if (valueSqlTbl == null) DatastoreClass valTable = storeMgr.getDatastoreClass(mapmd.getValueType(), clr); AbstractClassMetaData valCmd = mmd.getMap().getValueClassMetaData(clr); JavaTypeMapping mapTblOwnerMapping;
mapTbl = storeMgr.getDatastoreClass(mmd.getMap().getValueType(), clr); if (mmd.getMappedBy() != null)
mapTbl = storeMgr.getDatastoreClass(mmd.getMap().getValueType(), clr); if (mmd.getMappedBy() != null)
mapTbl = storeMgr.getDatastoreClass(mmd.getMap().getValueType(), clr); if (mmd.getMappedBy() != null)