@Override public String getJavaTypeForDatastoreMapping(int index) { if (converter == null) { return UUID.class.getName(); } return storeMgr.getNucleusContext().getTypeManager().getDatastoreTypeForTypeConverter(converter, getJavaType()).getName(); }
/** * Accessor for the name of the java-type actually used when mapping the particular datastore * field. This java-type must have an entry in the datastore mappings. * @param index requested datastore field index. * @return the name of java-type for the requested datastore field. */ public String getJavaTypeForDatastoreMapping(int index) { return storeMgr.getNucleusContext().getTypeManager().getDatastoreTypeForTypeConverter(converter, getJavaType()).getName(); }
public TypeConverterExpression(SQLStatement stmt, SQLTable table, JavaTypeMapping mapping) { super(stmt, table, mapping); if (!(mapping instanceof TypeConverterMapping)) { throw new NucleusException(Localiser.msg("060019", mapping.getClass().getName())); } TypeConverterMapping convMapping = (TypeConverterMapping)mapping; TypeConverter conv = convMapping.getTypeConverter(); Class datastoreType = stmt.getRDBMSManager().getNucleusContext().getTypeManager().getDatastoreTypeForTypeConverter(conv, convMapping.getJavaType()); if (datastoreType == String.class) { delegate = new StringExpression(stmt, table, mapping); } else if (Date.class.isAssignableFrom(datastoreType)) { delegate = new TemporalExpression(stmt, table, mapping); } else if (Number.class.isAssignableFrom(datastoreType)) { delegate = new NumericExpression(stmt, table, mapping); } else { throw new NucleusException(Localiser.msg("060017", mapping.getClass().getName(), datastoreType.getName())); } }
public OptionalLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName) { super(stmt, null, mapping); this.value = value; TypeManager typeManager = mapping.getStoreManager().getNucleusContext().getTypeManager(); ContainerAdapter containerAdapter = typeManager.getContainerAdapter(value); Iterator iterator = containerAdapter.iterator(); if (iterator.hasNext()) { Object wrappedValue = iterator.next(); JavaTypeMapping m = stmt.getRDBMSManager().getSQLExpressionFactory().getMappingForType(wrappedValue.getClass(), false); delegate = stmt.getSQLExpressionFactory().newLiteral(stmt, m, wrappedValue); } else { delegate = new NullLiteral(stmt, null, null, null); } }
public SingleCollectionLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName) { super(stmt, null, mapping); this.value = value; TypeManager typeManager = mapping.getStoreManager().getNucleusContext().getTypeManager(); ContainerAdapter containerAdapter = typeManager.getContainerAdapter(value); Iterator iterator = containerAdapter.iterator(); if (iterator.hasNext()) { Object wrappedValue = iterator.next(); JavaTypeMapping m = stmt.getRDBMSManager().getSQLExpressionFactory().getMappingForType(wrappedValue.getClass(), false); delegate = stmt.getSQLExpressionFactory().newLiteral(stmt, m, wrappedValue); } else { delegate = new NullLiteral(stmt, null, null, null); } }
@Override public void initialize(RDBMSStoreManager storeMgr, String type) { ClassLoaderResolver clr = storeMgr.getNucleusContext().getClassLoaderResolver(null); Class fieldType = clr.classForName(type); converter = storeMgr.getNucleusContext().getTypeManager().getDefaultTypeConverterForType(fieldType); if (converter == null) { // Fallback to any auto-apply converter for this member type converter = storeMgr.getNucleusContext().getTypeManager().getAutoApplyTypeConverterForType(fieldType); if (converter == null) { throw new NucleusUserException("Unable to find TypeConverter for converting " + fieldType); } } super.initialize(storeMgr, type); }
@Override public void initialize(RDBMSStoreManager storeMgr, String type) { super.initialize(storeMgr, type); ClassLoaderResolver clr = storeMgr.getNucleusContext().getClassLoaderResolver(null); Class fieldType = clr.classForName(type); converter = storeMgr.getNucleusContext().getTypeManager().getDefaultTypeConverterForType(fieldType); if (converter == null) { throw new NucleusUserException("Unable to find TypeConverter for converting " + fieldType + " to String"); } if (!(converter instanceof MultiColumnConverter)) { throw new NucleusUserException("Not able to use " + getClass().getName() + " for java type " + type + " since provided TypeConverter " + converter + " does not implement MultiColumnConverter"); } // Add columns for this converter MultiColumnConverter multiConv = (MultiColumnConverter)converter; Class[] colTypes = multiConv.getDatastoreColumnTypes(); for (int i=0;i<colTypes.length;i++) { addColumns(colTypes[i].getName()); } }
@Override public void initialize(RDBMSStoreManager storeMgr, String type) { // We don't have access to any field info yet, so have no idea whether we need a TypeConverter, so just create one Class fieldType = storeMgr.getNucleusContext().getClassLoaderResolver(null).classForName(type); converter = storeMgr.getNucleusContext().getTypeManager().getDefaultTypeConverterForType(fieldType); if (converter == null) { throw new NucleusUserException("Unable to find TypeConverter for converting " + fieldType + " to String"); } super.initialize(storeMgr, type); }
String[] filteredClassNames = getNucleusContext().getTypeManager().filterOutSupportedSecondClassNames(classNames);
Class datastoreType = stmt.getRDBMSManager().getNucleusContext().getTypeManager().getDatastoreTypeForTypeConverter(conv, convMapping.getJavaType()); value = conv.toDatastoreType(value); if (datastoreType == String.class)
String[] filteredClassNames = getNucleusContext().getTypeManager().filterOutSupportedSecondClassNames(classNames);
public void initialize(AbstractMemberMetaData mmd, Table table, ClassLoaderResolver clr, TypeConverter conv) { if (mmd.getTypeConverterName() != null) { // Use specified converter (if found) converter = table.getStoreManager().getNucleusContext().getTypeManager().getTypeConverterForName(mmd.getTypeConverterName()); if (converter == null) { throw new NucleusUserException(Localiser.msg("044062", mmd.getFullFieldName(), mmd.getTypeConverterName())); } } else if (conv != null) { converter = conv; } else { throw new NucleusUserException("Unable to initialise mapping of type " + getClass().getName() + " for field " + mmd.getFullFieldName() + " since no TypeConverter was provided"); } super.initialize(mmd, table, clr); }
converter = table.getStoreManager().getNucleusContext().getTypeManager().getTypeConverterForName(mmd.getTypeConverterName()); if (converter == null)
String[] filteredClassNames = getNucleusContext().getTypeManager().filterOutSupportedSecondClassNames(classNames);
String[] filteredClassNames = getNucleusContext().getTypeManager().filterOutSupportedSecondClassNames(classNames);
String[] filteredClassNames = getNucleusContext().getTypeManager().filterOutSupportedSecondClassNames(classNames);
String[] filteredClassNames = getNucleusContext().getTypeManager().filterOutSupportedSecondClassNames(classNames);
converter = table.getStoreManager().getNucleusContext().getTypeManager().getTypeConverterForName(mmd.getTypeConverterName()); if (converter == null) converter = table.getStoreManager().getNucleusContext().getTypeManager().getTypeConverterForType(mmd.getType(), String.class);
pc = mmd.isSingleCollection() ? SCOUtils.singleCollectionValue(getStoreManager().getNucleusContext().getTypeManager(), pc) : pc; ClassLoaderResolver clr = op.getExecutionContext().getClassLoaderResolver(); RelationType relationType = mmd.getRelationType(clr);
storeMgr.getNucleusContext().getTypeManager().isDefaultEmbeddedType(mmd.getType()), null, true), mapping, colmd);