本文整理汇总了Java中org.apache.cayenne.map.DbAttribute类的典型用法代码示例。如果您正苦于以下问题:Java DbAttribute类的具体用法?Java DbAttribute怎么用?Java DbAttribute使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DbAttribute类属于org.apache.cayenne.map包,在下文中一共展示了DbAttribute类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: createTableModel
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
static Table createTableModel(DatabaseChannel channel, DbEntity dbEntity) {
Column[] columns = new Column[dbEntity.getAttributes().size()];
int i = 0;
for (DbAttribute a : dbEntity.getAttributes()) {
columns[i++] = new Column(Objects.requireNonNull(a.getName()), a.getType());
}
// ensure predictable column order .. DbEntity's attributes are presumably already sorted, but just in case
Arrays.sort(columns, (c1, c2) -> c1.getName().compareTo(c2.getName()));
return Table.builder(channel, dbEntity.getFullyQualifiedName())
.columns(columns)
.quoteSqlIdentifiers(dbEntity.getDataMap().isQuotingSQLIdentifiers())
.build();
}
开发者ID:bootique,项目名称:bootique-cayenne,代码行数:17,代码来源:CayenneModelUtils.java
示例2: forAttribute
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
public static AttributeInfo forAttribute(final DbAttribute attribute) {
return new AttributeInfo() {
@Override
public String getNormalizedPath() {
return ASTDbPath.DB_PREFIX + attribute.getName();
}
@Override
public int getType() {
return attribute.getType();
}
@Override
public DbAttribute getTarget() {
return attribute;
}
};
}
开发者ID:nhl,项目名称:link-move,代码行数:19,代码来源:PathNormalizer.java
示例3: forRelationship
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
public static AttributeInfo forRelationship(final DbJoin join) {
return new AttributeInfo() {
@Override
public String getNormalizedPath() {
return ASTDbPath.DB_PREFIX + join.getSourceName();
}
@Override
public int getType() {
return join.getSource().getType();
}
@Override
public DbAttribute getTarget() {
return join.getTarget();
}
};
}
开发者ID:nhl,项目名称:link-move,代码行数:19,代码来源:PathNormalizer.java
示例4: fakeObjAttribute
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
private static ObjAttribute fakeObjAttribute(String name, DbAttribute dbAttribute) {
ObjAttribute a = new ObjAttribute(name) {
@Override
public DbAttribute getDbAttribute() {
return dbAttribute;
}
};
a.setDbAttributePath(dbAttribute.getName());
String javaType = TypesMapping.getJavaBySqlType(dbAttribute.getType());
if (javaType == null) {
throw new NullPointerException("Java type not found for SQL type: " + dbAttribute.getType());
}
a.setType(javaType);
return a;
}
开发者ID:nhl,项目名称:link-rest,代码行数:17,代码来源:CayenneLrDbAttribute.java
示例5: setPrimaryKey
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
private void setPrimaryKey(DataObject o, ObjEntity entity, DbAttribute pk, Object id) {
// 1. meaningful ID
// TODO: must compile all this... figuring this on the fly is
// slow
ObjAttribute opk = entity.getAttributeForDbAttribute(pk);
if (opk != null) {
o.writeProperty(opk.getName(), id);
}
// 2. PK is auto-generated ... I guess this is sorta
// expected to fail - generated meaningless PK should not be
// pushed from the client
else if (pk.isGenerated()) {
throw new LinkRestException(Response.Status.BAD_REQUEST, "Can't create '" + entity.getName()
+ "' with fixed id");
}
// 3. probably a propagated ID.
else {
// TODO: hopefully this works..
o.getObjectId().getReplacementIdMap().put(pk.getName(), id);
}
}
开发者ID:nhl,项目名称:link-rest,代码行数:23,代码来源:CayenneUpdateDataStoreStage.java
示例6: getPkName
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
/**
* Return the database primary key column name for the given data object.
*
* @param dataObjectClass the class of the data object
* @return the primary key column name
*/
protected String getPkName(Class dataObjectClass) {
Validate.notNull(dataObjectClass, "Null dataObjectClass parameter.");
ObjEntity objEntity =
getDataContext().getEntityResolver().lookupObjEntity(dataObjectClass);
if (objEntity == null) {
throw new CayenneRuntimeException("Unmapped DataObject Class: "
+ dataObjectClass.getName());
}
DbEntity dbEntity = objEntity.getDbEntity();
if (dbEntity == null) {
throw new CayenneRuntimeException("No DbEntity for ObjEntity: "
+ objEntity.getName());
}
List pkAttributes = dbEntity.getPrimaryKey();
if (pkAttributes.size() != 1) {
throw new CayenneRuntimeException("PK contains "
+ pkAttributes.size()
+ " columns, expected 1.");
}
DbAttribute attr = (DbAttribute) pkAttributes.get(0);
return attr.getName();
}
开发者ID:florinpatrascu,项目名称:jpublish,代码行数:35,代码来源:CayenneTemplate.java
示例7: getOrCreatePkWriter
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
public TargetPropertyWriter getOrCreatePkWriter(DbAttribute pkAttribute) {
if (!entity.getDbEntity().equals(pkAttribute.getEntity())) {
throw new LmRuntimeException("Attribute belongs to different entity: " + pkAttribute.getName());
}
return getOrCreateWriter(
pkAttribute.getName(),
ASTDbPath.DB_PREFIX + pkAttribute.getName(),
new TargetPkPropertyWriter(pkAttribute)
);
}
开发者ID:nhl,项目名称:link-move,代码行数:13,代码来源:TargetPropertyWriterFactory.java
示例8: normalize
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
/**
* @since 1.7
*/
@SuppressWarnings("unchecked")
public T normalize(Object value, DbAttribute targetAttribute) {
T result;
if (value == null) {
result = null;
} else if (type.isAssignableFrom(value.getClass())) {
result = (T) value;
} else {
result = doNormalize(value, targetAttribute);
}
return postNormalize(result, targetAttribute);
}
开发者ID:nhl,项目名称:link-move,代码行数:18,代码来源:JdbcNormalizer.java
示例9: withJdbcNormalizer
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
/**
* @since 1.7
* @deprecated since 2.4 in favor of {@link #valueConverter(Class, ValueConverter)}.
*/
@Deprecated
public LmRuntimeBuilder withJdbcNormalizer(Class<?> javaType, JdbcNormalizer<?> normalizer) {
return valueConverter(javaType, (v, s) -> {
DbAttribute placeholder = new DbAttribute("_placeholder");
placeholder.setScale(s);
placeholder.setType(TypesMapping.getSqlTypeByJava(javaType));
return normalizer.normalize(v, placeholder);
});
}
开发者ID:nhl,项目名称:link-move,代码行数:14,代码来源:LmRuntimeBuilder.java
示例10: matchById
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
public MapperBuilder matchById() {
Collection<DbAttribute> pks = entity.getDbEntity().getPrimaryKeys();
if (pks.isEmpty()) {
throw new IllegalStateException("Target entity has no PKs defined: " + entity.getDbEntityName());
}
for (DbAttribute pk : pks) {
this.paths.add(ASTDbPath.DB_PREFIX + pk.getName());
}
return this;
}
开发者ID:nhl,项目名称:link-move,代码行数:14,代码来源:MapperBuilder.java
示例11: isPrimaryKey
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
/**
* @return true if all PK columns are represented in {@code keys}
*/
private boolean isPrimaryKey(DbEntity entity, Collection<String> keys) {
Collection<DbAttribute> pks = entity.getPrimaryKeys();
for (DbAttribute pk : pks) {
if (!keys.contains(pk.getName())) {
return false;
}
}
return true;
}
开发者ID:nhl,项目名称:link-rest,代码行数:13,代码来源:CayenneUpdateDataStoreStage.java
示例12: postNormalize
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
/**
* Override this method to do post-processing of the normalized value
* (e.g. additional scaling of a decimal)
*/
protected T postNormalize(T normalized, DbAttribute targetAttribute) {
// by default just return the value
return normalized;
}
开发者ID:nhl,项目名称:link-move,代码行数:9,代码来源:JdbcNormalizer.java
示例13: CayenneLrDbAttribute
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
/**
* @since 1.24
*/
public CayenneLrDbAttribute(String name, DbAttribute dbAttribute, Class<?> type) {
super(fakeObjAttribute(name, dbAttribute), type);
this.dbAttribute = dbAttribute;
}
开发者ID:nhl,项目名称:link-rest,代码行数:8,代码来源:CayenneLrDbAttribute.java
示例14: TargetPkPropertyWriter
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
public TargetPkPropertyWriter(DbAttribute pk) {
if (!pk.isPrimaryKey()) {
throw new LmRuntimeException("'" + pk.getName() + "' is not a PK");
}
this.pk = pk;
}
开发者ID:nhl,项目名称:link-move,代码行数:10,代码来源:TargetPkPropertyWriter.java
示例15: doNormalize
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
protected abstract T doNormalize(Object value, DbAttribute targetAttribute);
开发者ID:nhl,项目名称:link-move,代码行数:2,代码来源:JdbcNormalizer.java
示例16: getTarget
import org.apache.cayenne.map.DbAttribute; //导入依赖的package包/类
public abstract DbAttribute getTarget();
开发者ID:nhl,项目名称:link-move,代码行数:2,代码来源:PathNormalizer.java
注:本文中的org.apache.cayenne.map.DbAttribute类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论