org.nakedobjects.noa.spec.NakedObjectSpecification.getFields()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(13.0k)|赞(0)|评价(0)|浏览(65)

本文整理了Java中org.nakedobjects.noa.spec.NakedObjectSpecification.getFields()方法的一些代码示例,展示了NakedObjectSpecification.getFields()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NakedObjectSpecification.getFields()方法的具体详情如下:
包路径:org.nakedobjects.noa.spec.NakedObjectSpecification
类名称:NakedObjectSpecification
方法名:getFields

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);
  }
}

相关文章