本文整理了Java中org.nakedobjects.noa.spec.NakedObjectSpecification
类的一些代码示例,展示了NakedObjectSpecification
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NakedObjectSpecification
类的具体详情如下:
包路径:org.nakedobjects.noa.spec.NakedObjectSpecification
类名称:NakedObjectSpecification
暂无
代码示例来源:origin: org.nakedobjects/nos-objectstore-xml
Data(NakedObjectSpecification type, SerialOid oid, FileVersion version) {
this.type = type.getFullName();
this.oid = oid;
this.version = version;
}
代码示例来源: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-viewer-dnd
private NakedObjectField fieldFromActualSpec(NakedObjectSpecification spec, NakedObjectField field) {
String fieldName = field.getId();
return spec.getField(fieldName);
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-hibernate
private boolean subclassesImplementOnlyThisInterface(
final NakedObjectSpecification persistentClass,
final NakedObjectSpecification interfaceToCheck) {
final NakedObjectSpecification[] childSpecs = persistentClass.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 NakedObjectSpecification[] implementedInterfaces = childSpec.interfaces();
if (implementedInterfaces.length == 0) {
continue;
} else if (implementedInterfaces.length > 1) {
return false;
}
if (!implementedInterfaces[0].getFullName().equals(interfaceToCheck.getFullName())) {
return false;
}
return subclassesImplementOnlyThisInterface(childSpec, interfaceToCheck);
}
return true;
}
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
public Consent canSet(final NakedObject dragSource) {
if (dragSource.getSpecification().isOfType(specification)) {
return Allow.DEFAULT;
} else {
return new Veto("Object must be " + specification.getShortName());
}
}
代码示例来源:origin: org.nakedobjects/nof-utilities
Element element = schema.createElement(getXmlDocument(), nos.getShortName(), nos.getFullName(), nos.getSingularName(),
nos.getPluralName());
nofMeta.appendNofTitle(element, object.titleString());
NakedObjectField[] fields = nos.getFields();
LOG.debug("objectToElement(NO): processing fields");
eachField: for (int i = 0; i < fields.length; i++) {
if (fieldNos != null && fieldNos.getFullName() != null && fieldNos.getFullName().endsWith("XmlValue")) {
continue eachField;
nofMeta.setAttributesForValue(xmlValueElement, valueNos.getShortName());
String fullyQualifiedClassName = nos.getFullName();
.getSpecification().getFullName(), extensionsFor(oneToOneAssociation));
collection = (NakedCollection) oneToManyAssociation.get(object);
NakedObjectSpecification referencedTypeNos = collection.getElementSpecification();
String fullyQualifiedClassName = referencedTypeNos.getFullName();
.getSpecification().getFullName(), extensionsFor(oneToManyAssociation));
代码示例来源: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/nof-reflector-core
public void debugData(final DebugString str) {
reflectionPeerBuilder.debugData(str);
str.appendTitle("Specifications");
NakedObjectSpecification[] specs = allSpecifications();
for (int i = 0; i < specs.length; i++) {
NakedObjectSpecification specification = specs[i];
str.append(Features.isAbstract(specification) ? "A" : ".");
str.append(Features.isAggregated(specification) ? "G" : ".");
str.append(Features.isService(specification) ? "S" : ".");
str.append(Features.isBoundedSet(specification) ? "B" : ".");
int type = specification.getType();
str.append(type == NakedObjectSpecification.COLLECTION ? "C" : ".");
str.append(type == NakedObjectSpecification.OBJECT ? "O" : ".");
str.append(type == NakedObjectSpecification.VALUE ? "V" : ".");
str.append(" ");
str.append(specification.getShortName());
str.append(" [fqc=");
str.append(specification.getFullName());
str.append(",type=");
str.append(specification.getClass().getName());
str.appendln("]");
}
}
代码示例来源: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/no-architecture
public boolean accept(NakedObjectActionParameter parameter) {
return parameter.getSpecification().getType() == HasType.OBJECT;
}
};
代码示例来源:origin: org.nakedobjects/nof-persistor
/**
* Checks whether there are any instances of the specified type. The object store should look for
* instances of the type represented by <variable>type </variable> and return <code>true</code> if there
* are, or <code>false</code> if there are not.
*/
public boolean hasInstances(final NakedObjectSpecification specification, final boolean includeSubclasses) {
LOG.info("hasInstances of " + specification.getShortName());
return objectStore.hasInstances(specification, includeSubclasses);
}
代码示例来源:origin: org.nakedobjects/nos-objectstore-hibernate
private void checkInverseAssociations() {
for (Iterator<PersistentNakedClass> iter = classes.values().iterator(); iter.hasNext();) {
PersistentNakedClass persistentClass = iter.next();
NakedObjectField[] fields = persistentClass.getUniqueFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i].isValue() || !fields[i].isPersisted()) {
continue;
}
PersistentNakedClass associatedClass = getPersistentClass(fields[i].getSpecification().getFullName());
if (associatedClass == null) {
continue;
}
String inverse = getInverse(persistentClass, fields[i].getId());
if (inverse != null) {
NakedObjectField associatedField = associatedClass.getSpecification().getField(inverse);
Association association = new Association(associatedClass, associatedField, false);
persistentClass.addAssociation(fields[i].getId(), association);
Association reverseAssociation = new Association(persistentClass, fields[i], true);
associatedClass.addAssociation(inverse, reverseAssociation);
}
}
}
}
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
public Consent canSet(final NakedObject object) {
NakedObjectSpecification targetType = getOneToOneAssociation().getSpecification();
NakedObjectSpecification spec = object.getSpecification();
if (isEditable().isVetoed()) {
return isEditable();
}
if (!spec.isOfType(targetType)) {
return new Veto("Can only drop objects of type " + targetType.getSingularName());
}
if (getParent().getResolveState().isPersistent() && object.getResolveState().isTransient()) {
return new Veto("Can't drop a non-persistent into this persistent object");
}
// if (object instanceof Aggregated) {
// Aggregated aggregated = ((Aggregated) object);
// if (aggregated.isAggregated() && aggregated.parent() != getParent()) {
if (Features.isAggregated(spec) && spec.getAggregate(object) != getParent()) {
return new Veto("Object is already associated with another object: " + spec.getAggregate(object));
}
// }
Consent perm = getOneToOneAssociation().isAssociationValid(getParent(), object);
return perm;
}
代码示例来源:origin: org.nakedobjects/nof-reflector-core
private synchronized void clearChanges() {
if (checkObjectsForDirtyFlag) {
LOG.debug("clearing changed objects");
Enumeration e = NakedObjectsContext.getObjectLoader().getIdentifiedObjects();
while (e.hasMoreElements()) {
Object o = e.nextElement();
if (o instanceof NakedObject) {
NakedObject object = (NakedObject) o;
if (object.getSpecification().isDirty(object)) {
LOG.debug(" found dirty object " + object);
object.getSpecification().clearDirty(object);
}
}
}
}
}
代码示例来源:origin: org.nakedobjects/nof-reflector-core
public String[] getParameterNames() {
String[] names = reflectiveAdapter.getParameterNames();
NakedObjectSpecification[] parameterTypes = getParameterTypes();
if (names == null) {
names = new String[parameterTypes.length];
for (int i = 0; i < parameterTypes.length; i++) {
names[i] = parameterTypes[i].getSingularName();
}
} else {
for (int i = 0; i < names.length; i++) {
names[i] = names[i] == null ? parameterTypes[i].getSingularName() : names[i];
}
}
return names;
}
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
public String getDescription() {
String specName = getSpecification().getSingularName();
String objectTitle = getObject().titleString();
return specName + (specName.equalsIgnoreCase(objectTitle) ? "" : ": " + objectTitle) + " "
+ getSpecification().getDescription();
}
代码示例来源:origin: org.nakedobjects/nof-reflector-core
private NakedObjectMember getMember(final String memberName) {
final MemberIdentifier id = MemberIdentifierImpl.fromIdentityString(memberName);
final NakedObjectSpecification specification = NakedObjectsContext.getReflector().loadSpecification(id.getClassName());
NakedObjectMember member;
if (id.isField()) {
member = (NakedObjectMember) specification.getField(id.getName());
if (member == null) {
throw new IllegalRequestException("No field found for id " + id);
}
} else {
member = (NakedObjectMember) specification.getObjectAction(NakedObjectAction.USER, id.getName(), id
.getParameterSpecifications());
if (member == null) {
throw new IllegalRequestException("No user action found for id " + id);
}
}
return member;
}
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
private Consent setFieldOfMatchingType(final NakedObject target, final NakedObject source) {
if (target.getResolveState().isTransient() && source.getResolveState().isPersistent()) {
return new Veto("Can't set field in persistent object with reference to non-persistent object");
} else {
NakedObjectField[] fields = target.getSpecification().getDynamicallyVisibleFields(target);
for (int i = 0; i < fields.length; i++) {
NakedObjectField fld = fields[i];
if (fld.isObject() && source.getSpecification().isOfType(fld.getSpecification())) {
if (fld.get(target) == null
&& ((OneToOneAssociation) fld).isAssociationValid(target, source).isAllowed()) {
return new Allow("Set field " + fld.getName());
}
}
}
return new Veto("No empty field accepting object of type " + source.getSpecification().getSingularName()
+ " in " + title());
}
}
代码示例来源:origin: org.nakedobjects/nos-viewer-dnd
public static void addObjectMenuOptions(final NakedReference object, final UserActionSet options) {
if (object != null) {
NakedObjectAction[] actions1 = object.getSpecification().getObjectActions(NakedObjectAction.USER);
NakedObjectAction[] actions2 = object.getSpecification().getObjectActions(NakedObjectAction.EXPLORATION);
NakedObjectAction[] actions3 = object.getSpecification().getObjectActions(NakedObjectAction.DEBUG);
NakedObjectAction[] actions = new NakedObjectAction[actions1.length + actions2.length + actions3.length];
System.arraycopy(actions1, 0, actions, 0, actions1.length);
System.arraycopy(actions2, 0, actions, actions1.length, actions2.length);
System.arraycopy(actions3, 0, actions, actions1.length + actions2.length, actions3.length);
menuOptions(actions, object, options);
Oid oid = object.getOid();
boolean isPersistent = oid != null && !oid.isTransient();
if (!(Features.isService(object.getSpecification())) && !(object.getObject() instanceof InstanceCollectionVector)
&& isPersistent) {
options.add(new DisposeObjectOption());
}
}
}
代码示例来源:origin: org.nakedobjects/nof-reflector-core
public NakedObjectAction[] getClassActions(final NakedObjectAction.Type type) {
Object[] services = NakedObjectsContext.getObjectLoader().getServices();
List relatedActions = new ArrayList();
for (int i = 0; i < services.length; i++) {
NakedObject serviceAdapter = NakedObjectsContext.getObjectLoader().getAdapterFor(services[i]);
NakedObjectAction[] serviceActions = serviceAdapter.getSpecification().getObjectActions(type);
List matchingActions = new ArrayList();
for (int j = 0; j < serviceActions.length; j++) {
NakedObjectSpecification returnType = serviceActions[j].getReturnType();
if (returnType instanceof CollectionSpecification) {
// match up with collections of expected type as well as single instances
NakedObjectSpecification elementType = ((CollectionSpecification) returnType).getElementType();
if (elementType.isOfType(this)) {
matchingActions.add(serviceActions[j]);
}
} else if (returnType != null && returnType.isOfType(this)) {
matchingActions.add(serviceActions[j]);
}
}
if (matchingActions.size() > 0) {
NakedObjectAction[] asArray = (NakedObjectAction[]) matchingActions.toArray(new NakedObjectAction[matchingActions
.size()]);
ActionSet set = new ActionSet("id", serviceAdapter.titleString(), asArray);
relatedActions.add(set);
}
}
return (NakedObjectAction[]) relatedActions.toArray(new NakedObjectAction[relatedActions.size()]);
}
内容来源于网络,如有侵权,请联系作者删除!