本文整理了Java中org.nakedobjects.noa.spec.NakedObjectSpecification.getFields()
方法的一些代码示例,展示了NakedObjectSpecification.getFields()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NakedObjectSpecification.getFields()
方法的具体详情如下:
包路径:org.nakedobjects.noa.spec.NakedObjectSpecification
类名称:NakedObjectSpecification
方法名:getFields
暂无
代码示例来源:origin: org.nakedobjects/nof-persistor
private void setupReferencedObjects(final NakedObject object, final Vector all) {
if (true)
return;
if (object == null || all.contains(object)) {
return;
}
all.addElement(object);
NakedObjectsContext.getObjectLoader().start(object, ResolveState.RESOLVING);
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
NakedObjectField field = fields[i];
if (field.isCollection()) {
NakedCollection col = (NakedCollection) field.get(object);
for (Enumeration e = col.elements(); e.hasMoreElements();) {
NakedObject element = (NakedObject) e.nextElement();
setupReferencedObjects(element, all);
}
} else if (field.isObject()) {
NakedObject fieldContent = (NakedObject) field.get(object);
setupReferencedObjects(fieldContent, all);
}
}
NakedObjectsContext.getObjectLoader().end(object);
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-hibernate
private void ensureUniqueFieldsResolved() {
if (uniqueFields != null) {
return;
}
if (parent.isRoot()) {
uniqueFields = spec.getFields();
return;
}
final NakedObjectField[] parentFields = parent.getSpecification().getFields();
final HashMap<String, String> parentIds = new HashMap<String, String>();
for (int i = 0; i < parentFields.length; i++) {
if (parentFields[i].isPersisted()) {
parentIds.put(parentFields[i].getId(), "");
}
}
final List<NakedObjectField> uniqueList = new ArrayList<NakedObjectField>();
final NakedObjectField[] fields = spec.getFields();
for (int i = 0; i < fields.length; i++) {
if (!parentIds.containsKey(fields[i].getId())) {
uniqueList.add(fields[i]);
}
}
uniqueFields = uniqueList.toArray(new NakedObjectField[0]);
}
代码示例来源:origin: org.nakedobjects/nof-utilities
private void updateFields(final NakedObject object, Data state) {
ObjectData od = (ObjectData) state;
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i].isPersisted()) {
updateField(object, od, fields[i]);
}
}
}
代码示例来源:origin: org.nakedobjects/nof-persistor
private String debugObjectGraph(final NakedObject object, final int level, final Vector recursiveElements) {
StringBuffer s = new StringBuffer();
recursiveElements.addElement(object);
// work through all its fields
NakedObjectField[] fields;
fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
NakedObjectField field = fields[i];
Object obj = field.get(object);
String id = field.getId();
indent(s, level);
if (field.isCollection()) {
s.append(id + ": \n" + debugCollectionGraph((NakedCollection) obj, level + 1, recursiveElements));
} else {
if (obj instanceof NakedObject) {
if (recursiveElements.contains(obj)) {
s.append(id + ": " + obj + "*\n");
} else {
s.append(id + ": " + obj);
s.append(debugGraph((NakedObject) obj, level + 1, recursiveElements));
}
} else {
s.append(id + ": " + obj);
s.append("\n");
}
}
}
return s.toString();
}
代码示例来源:origin: org.nakedobjects/nof-core
public OneToOneAssociationInstance[] getOneToOneAssociationInstances() {
if (oneToOneAssociationInstances == null) {
NakedObjectField[] fields = getSpecification().getFields(NakedObjectField.REFERENCES);
oneToOneAssociationInstances = new OneToOneAssociationInstance[fields.length];
for(int i=0; i<fields.length; i++) {
oneToOneAssociationInstances[i] =
new OneToOneAssociationInstanceImpl(this, (OneToOneAssociation) fields[i]);
}
}
return oneToOneAssociationInstances;
}
// TODO: use a Hashtable instead
代码示例来源:origin: org.nakedobjects/nof-core
public OneToManyAssociationInstance[] getOneToManyAssociationInstances() {
if (oneToManyAssociationInstances == null) {
NakedObjectField[] fields = getSpecification().getFields(NakedObjectField.COLLECTIONS);
oneToManyAssociationInstances = new OneToManyAssociationInstance[fields.length];
for(int i=0; i<fields.length; i++) {
oneToManyAssociationInstances[i] =
new OneToManyAssociationInstanceImpl(this, (OneToManyAssociation) fields[i]);
}
}
return oneToManyAssociationInstances;
}
// TODO: use a Hashtable instead
代码示例来源:origin: org.nakedobjects/nof-core
public ValueAssociationInstance[] getValueAssociationInstances() {
if (valueAssociationInstances == null) {
NakedObjectField[] fields = getSpecification().getFields(NakedObjectField.VALUES);
valueAssociationInstances = new ValueAssociationInstance[fields.length];
for(int i=0; i<fields.length; i++) {
valueAssociationInstances[i] =
new ValueAssociationInstanceImpl(this, (ValueAssociation) fields[i]);
}
}
return valueAssociationInstances;
}
代码示例来源:origin: org.nakedobjects/nof-core
public ValueAssociationInstance[] getValueAssociationInstances() {
if (valueAssociationInstances == null) {
NakedObjectField[] fields = getSpecification().getFields(NakedObjectField.VALUES);
valueAssociationInstances = new ValueAssociationInstance[fields.length];
for(int i=0; i<fields.length; i++) {
valueAssociationInstances[i] =
new ValueAssociationInstanceImpl(this, (ValueAssociation) fields[i]);
}
}
return valueAssociationInstances;
}
代码示例来源:origin: org.nakedobjects/nof-core
public OneToManyAssociationInstance[] getOneToManyAssociationInstances() {
if (oneToManyAssociationInstances == null) {
NakedObjectField[] fields = getSpecification().getFields(NakedObjectField.COLLECTIONS);
oneToManyAssociationInstances = new OneToManyAssociationInstance[fields.length];
for(int i=0; i<fields.length; i++) {
oneToManyAssociationInstances[i] =
new OneToManyAssociationInstanceImpl(this, (OneToManyAssociation) fields[i]);
}
}
return oneToManyAssociationInstances;
}
// TODO: use a Hashtable instead
代码示例来源:origin: org.nakedobjects/nof-core
public OneToOneAssociationInstance[] getOneToOneAssociationInstances() {
if (oneToOneAssociationInstances == null) {
NakedObjectField[] fields = getSpecification().getFields(NakedObjectField.REFERENCES);
oneToOneAssociationInstances = new OneToOneAssociationInstance[fields.length];
for(int i=0; i<fields.length; i++) {
oneToOneAssociationInstances[i] =
new OneToOneAssociationInstanceImpl(this, (OneToOneAssociation) fields[i]);
}
}
return oneToOneAssociationInstances;
}
// TODO: use a Hashtable instead
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
private DateValue findDate(View view) {
Content c = view.getContent();
Naked adapter = c.getNaked();
NakedObjectSpecification spec = adapter.getSpecification();
NakedObjectField[] fields = spec.getFields();
DateValue date = null;
for (int j = 0; j < fields.length; j++) {
Naked field = fields[j].get((NakedObject) adapter);
if (field instanceof DateValue) {
return (DateValue) field;
}
/*
if(fields[j].getSpecification() == NakedObjectsContext.getReflector().loadSpecification(DateValue.class)) {
date = (DateValue) fields[j].get((NakedObject) adapter).getObject();
break;
}
*/
}
return date;
}
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-hibernate
/**
* Recursively go thru all subclasses and create a hierarchy of PersistentNakedClass objects to map them.
*/
private void buildClassHierachy(final NakedObjectSpecification parentSpec, final PersistentNakedClass parentPersistentClass) {
final NakedObjectSpecification[] childSpecs = parentSpec.subclasses();
for (int i = 0; i < childSpecs.length; i++) {
final NakedObjectSpecification childSpec = childSpecs[i];
if (childSpec.getType() == NakedObjectSpecification.VALUE || childSpec.persistable() == Persistable.TRANSIENT) {
continue;
}
final String childClassname = childSpec.getFullName();
PersistentNakedClass childPersistentClass = null;
if (childSpec.getFields().length > 0) {
try {
final Class cls = Class.forName(childClassname);
if (cls.isArray()) {
continue;
}
} catch (ClassNotFoundException e) {
throw new NakedObjectRuntimeException(e);
}
childPersistentClass = new PersistentNakedClass(childSpec, parentPersistentClass);
classes.put(childSpec.getFullName(), childPersistentClass);
}
buildClassHierachy(childSpec, childPersistentClass == null ? parentPersistentClass : childPersistentClass);
}
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-hibernate
/**
* Check which classes/interfaces are used in associations, and mark them
*/
private void checkAssociations() {
// make an array as we may modify the classes map, which would cause an exception in an iterator
final PersistentNakedClass[] persistentClasses = classes.values().toArray(new PersistentNakedClass[0]);
for (int i = 0; i < persistentClasses.length; i++) {
final NakedObjectField[] fields = persistentClasses[i].getSpecification().getFields();
for (int j = 0; j < fields.length; j++) {
final NakedObjectField field = fields[j];
if (field.isValue() || !field.isPersisted() || Features.isService(field.getSpecification())
|| field.getSpecification().getFullName().startsWith("java.")) {
continue;
}
// object or collection - for both getSpecification returns the spec of the associated object
final String associatedClassName = field.getSpecification().getFullName();
if (!classes.containsKey(associatedClassName) && !interfaces.containsKey(associatedClassName)) {
// enforce class must be in classes or interface maps
throw new NakedObjectRuntimeException("Missing class/interface: " + field.getSpecification().getFullName());
}
// if it's a class add a reference
PersistentNakedClass associatedClass = classes.get(associatedClassName);
if (associatedClass != null) {
associatedClass.addReference();
}
}
}
}
代码示例来源:origin: org.nakedobjects/nof-utilities
private ObjectData createObjectData(final NakedObject object) {
NakedObjectSpecification cls = object.getSpecification();
NakedObjectField[] fields = cls.getFields();
ObjectData data = new ObjectData(object.getOid(), object.getResolveState().name(), cls.getFullName());
for (int i = 0; i < fields.length; i++) {
if (fields[i].isPersisted()) {
createFieldData(object, data, fields[i]);
}
}
return data;
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-xml
private ObjectData createObjectData(final NakedObject object, final boolean ensurePersistent) {
LOG.debug("compiling object data for " + object);
ObjectData data;
data = new ObjectData(object.getSpecification(), (SerialOid) object.getOid(), (FileVersion) object.getVersion());
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
if (!fields[i].isPersisted()) {
continue;
}
Naked field = fields[i].get(object);
Naked fieldContent = field;
String fieldId = fields[i].getId();
if (fields[i].isCollection()) {
data.addInternalCollection((NakedCollection) fieldContent, fieldId, ensurePersistent);
} else if (fields[i].isValue()) {
boolean isEmpty = fields[i].isEmpty(object);
String encodedValue = ((NakedValue) field).asEncodedString();
data.saveValue(fieldId, isEmpty, field == null || isEmpty ? null : new String(encodedValue));
} else if (fields[i].isObject()) {
data.addAssociation((NakedObject) fieldContent, fieldId, ensurePersistent);
}
}
return data;
}
代码示例来源:origin: org.nakedobjects/nof-persistor
object.getSpecification().lifecycleEvent(object, NakedObjectSpecification.SAVED);
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
NakedObjectField field = fields[i];
代码示例来源:origin: org.nakedobjects/nof-persistor
NakedObjectsContext.getObjectLoader().madePersistent(object);
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
NakedObjectField field = fields[i];
代码示例来源:origin: org.nakedobjects/nof-persistor
NakedObjectsContext.getObjectLoader().madePersistent(object);
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
NakedObjectField field = fields[i];
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
public void execute(final Workspace workspace, final View view, final Location at) {
NakedObject original = (NakedObject) view.getContent().getNaked();
// NakedObject original = getObject();
NakedObjectSpecification spec = original.getSpecification();
NakedObject clone = NakedObjectsContext.getObjectLoader().createTransientInstance(spec);
NakedObjectField[] fields = spec.getFields();
for (int i = 0; i < fields.length; i++) {
Naked fld = fields[i].get(original);
if (fields[i].isObject()) {
((OneToOneAssociation) fields[i]).setAssociation(clone, (NakedObject) fld);
} else if (fields[i].isValue()) {
((ValueAssociation) fields[i]).setValue(clone, (NakedValue) fld);
} else if (fields[i].isCollection()) {
// clone.setValue((OneToOneAssociation) fields[i], fld.getObject());
}
}
// AbstractNakedObject clone = (AbstractNakedObject) createInstance(getClass());
// clone.copyObject(this);
// clone.objectChanged();
Content content = Toolkit.getContentFactory().createRootContent(clone);
View cloneView = Toolkit.getViewFactory().createWindow(content);
cloneView.setLocation(at);
workspace.addView(cloneView);
// newWorkspace.markDamaged();
}
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-xml
private void initObject(final NakedObject object, final ObjectData data) {
if (object.getResolveState().isResolvable(ResolveState.RESOLVING)) {
objectLoader().start(object, ResolveState.RESOLVING);
NakedObjectField[] fields = object.getSpecification().getFields();
for (int i = 0; i < fields.length; i++) {
NakedObjectField field = fields[i];
if (!field.isPersisted()) {
continue;
}
if (field.isValue()) {
NakedValue value = (NakedValue) ((ValueAssociation) field).get(object);
String valueData = data.value(field.getId());
value.restoreFromEncodedString(valueData == null ? "NULL" : valueData);
((ValueAssociation) field).initValue(object, value);
} else if (field.isCollection()) {
initObjectSetupCollection(object, data, field);
} else if (field.isObject()) {
initObjectSetupReference(object, data, field);
}
}
object.setOptimisticLock(data.getVersion());
objectLoader().end(object);
}
}
内容来源于网络,如有侵权,请联系作者删除!