本文整理了Java中org.apache.gora.util.AvroUtils.deepClonePersistent()
方法的一些代码示例,展示了AvroUtils.deepClonePersistent()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AvroUtils.deepClonePersistent()
方法的具体详情如下:
包路径:org.apache.gora.util.AvroUtils
类名称:AvroUtils
方法名:deepClonePersistent
[英]Utility method for deep clone a given AVRO persistent bean instance.
[中]
代码示例来源:origin: org.apache.gora/gora-core
/**
* Returns a clone with exactly the requested fields shallowly copied
*/
private static<T extends PersistentBase> T getPersistent(T obj, String[] fields) {
List<Field> otherFields = obj.getSchema().getFields();
String[] otherFieldStrings = new String[otherFields.size()];
for(int i = 0; i<otherFields.size(); i++ ){
otherFieldStrings[i] = otherFields.get(i).name();
}
if(Arrays.equals(fields, otherFieldStrings)) {
return obj;
}
T newObj = AvroUtils.deepClonePersistent(obj);
newObj.clear();
for (String field : fields) {
Field otherField = obj.getSchema().getField(field);
int index = otherField.pos();
newObj.put(index, obj.get(index));
}
return newObj;
}
代码示例来源:origin: apache/gora
/**
* Returns a clone with exactly the requested fields shallowly copied
*/
private static<T extends PersistentBase> T getPersistent(T obj, String[] fields) {
List<Field> otherFields = obj.getSchema().getFields();
String[] otherFieldStrings = new String[otherFields.size()];
for(int i = 0; i<otherFields.size(); i++ ){
otherFieldStrings[i] = otherFields.get(i).name();
}
if(Arrays.equals(fields, otherFieldStrings)) {
return obj;
}
T newObj = AvroUtils.deepClonePersistent(obj);
newObj.clear();
for (String field : fields) {
Field otherField = obj.getSchema().getField(field);
int index = otherField.pos();
newObj.put(index, obj.get(index));
}
return newObj;
}
代码示例来源:origin: org.apache.gora/gora-jcache
private static <T extends PersistentBase> T getPersistent(T persitent, String[] fields) {
List<Schema.Field> otherFields = persitent.getSchema().getFields();
String[] otherFieldStrings = new String[otherFields.size()];
for (int i = 0; i < otherFields.size(); i++) {
otherFieldStrings[i] = otherFields.get(i).name();
}
if (Arrays.equals(fields, otherFieldStrings)) {
return persitent;
}
T clonedPersistent = AvroUtils.deepClonePersistent(persitent);
clonedPersistent.clear();
if (fields != null && fields.length > 0) {
for (String field : fields) {
Schema.Field otherField = persitent.getSchema().getField(field);
int index = otherField.pos();
clonedPersistent.put(index, persitent.get(index));
}
} else {
for (String field : otherFieldStrings) {
Schema.Field otherField = persitent.getSchema().getField(field);
int index = otherField.pos();
clonedPersistent.put(index, persitent.get(index));
}
}
return clonedPersistent;
}
代码示例来源:origin: apache/gora
private static <T extends PersistentBase> T getPersistent(T persitent, String[] fields) {
List<Schema.Field> otherFields = persitent.getSchema().getFields();
String[] otherFieldStrings = new String[otherFields.size()];
for (int i = 0; i < otherFields.size(); i++) {
otherFieldStrings[i] = otherFields.get(i).name();
}
if (Arrays.equals(fields, otherFieldStrings)) {
return persitent;
}
T clonedPersistent = AvroUtils.deepClonePersistent(persitent);
clonedPersistent.clear();
if (fields != null && fields.length > 0) {
for (String field : fields) {
Schema.Field otherField = persitent.getSchema().getField(field);
int index = otherField.pos();
clonedPersistent.put(index, persitent.get(index));
}
} else {
for (String field : otherFieldStrings) {
Schema.Field otherField = persitent.getSchema().getField(field);
int index = otherField.pos();
clonedPersistent.put(index, persitent.get(index));
}
}
return clonedPersistent;
}
代码示例来源:origin: apache/gora
@Test
public void testDeepClonePersistent() throws Exception {
CharSequence url = new Utf8("http://gora.apache.org/");
WebPage.Builder builder = WebPage.newBuilder()
.setUrl(url)
.setContent(ByteBuffer.wrap("Gora".getBytes("UTF-8")));
WebPage webPage = builder.build();
WebPage clonedWebPage = AvroUtils.deepClonePersistent(webPage);
assertThat(clonedWebPage, is(notNullValue()));
assertThat(clonedWebPage.getUrl(), is(equalTo(url)));
assertThat(clonedWebPage.getContent(), is(notNullValue()));
String clonedWebPageContent = new String(clonedWebPage.getContent().array(), "UTF-8");
assertThat(clonedWebPageContent, is(equalTo("Gora")));
}
内容来源于网络,如有侵权,请联系作者删除!