public Consent isEditable() { return getField().isUsable(NakedObjectsContext.getAuthenticationSession(), getParent()); }
public Consent isEditable() { return getField().isUsable(NakedObjectsContext.getAuthenticationSession(), getParent()); }
private static boolean skipField(final NakedObject object, final NakedObjectAssociation fld) { return fld.isOneToManyAssociation() || fld.isUsable(NakedObjectsContext.getAuthenticationSession(), object).isVetoed(); }
public Consent isEditable() { return getField().isUsable(NakedObjectsContext.getAuthenticationSession(), getParent()); }
private static boolean skipField(final NakedObject object, final NakedObjectAssociation fld) { return fld.isOneToManyAssociation() || fld.isUsable(NakedObjectsContext.getAuthenticationSession(), object).isVetoed(); }
private void ensureAssociationModifiableElseThrowException( final AuthenticationSession session, final NakedObject targetAdapter, final NakedObjectAssociation association) { if (!association.isVisible(session, targetAdapter).isAllowed() || association.isUsable(session, targetAdapter).isVetoed()) { throw new NakedObjectException("can't modify field as not visible or editable"); } }
private void ensureAssociationModifiableElseThrowException( final AuthenticationSession session, final NakedObject targetAdapter, final NakedObjectAssociation association) { if (!association.isVisible(session, targetAdapter).isAllowed() || association.isUsable(session, targetAdapter).isVetoed()) { throw new NakedObjectException("can't modify field as not visible or editable"); } }
public String invalidReason(final ObjectValidityContext context) { final StringBuilder buf = new StringBuilder(); final NakedObject nakedObject = context.getTarget(); for (final NakedObjectAssociation property : nakedObject.getSpecification().getAssociations( NakedObjectAssociationFilters.PROPERTIES)) { // ignore hidden properties if (property.isVisible(context.getSession(), nakedObject).isVetoed()) { continue; } // ignore disabled properties if (property.isUsable(context.getSession(), nakedObject).isVetoed()) { continue; } final OneToOneAssociation otoa = (OneToOneAssociation) property; final NakedObject value = otoa.get(nakedObject); if (otoa.isAssociationValid(nakedObject, value).isVetoed()) { if (buf.length() > 0) { buf.append(", "); } buf.append(property.getName()); } } if (buf.length() > 0) { return "Invalid properties: " + buf.toString(); } return null; }
public String invalidReason(final ObjectValidityContext context) { final StringBuilder buf = new StringBuilder(); final NakedObject nakedObject = context.getTarget(); for (final NakedObjectAssociation property : nakedObject.getSpecification().getAssociations( NakedObjectAssociationFilters.PROPERTIES)) { // ignore hidden properties if (property.isVisible(context.getSession(), nakedObject).isVetoed()) { continue; } // ignore disabled properties if (property.isUsable(context.getSession(), nakedObject).isVetoed()) { continue; } final OneToOneAssociation otoa = (OneToOneAssociation) property; final NakedObject value = otoa.get(nakedObject); if (otoa.isAssociationValid(nakedObject, value).isVetoed()) { if (buf.length() > 0) { buf.append(", "); } buf.append(property.getName()); } } if (buf.length() > 0) { return "Invalid properties: " + buf.toString(); } return null; }
association.isUsable(session, targetAdapter).isVetoed()) { throw new NakedObjectException("can't modify field as not visible or editable");
association.isUsable(session, targetAdapter).isVetoed()) { throw new NakedObjectException("can't modify field as not visible or editable");
@Override protected void doExecute(final Context context, final ViewPane content, final NakedObject adapter, final String field) { final String id = context.mapObject(adapter); createObjectView(context, adapter, content, id); final NakedObjectSpecification specification = adapter.getSpecification(); // TODO: this test should be done by the ImmutableFacetFactory installing an immutableFacet on every // member boolean immutable = SpecificationFacets.isAlwaysImmutable(specification) || (adapter.isPersistent() && SpecificationFacets.isImmutableOncePersisted(specification)); boolean allFieldUneditable = true; final NakedObjectAssociation[] flds = specification.getAssociations(); for (int i = 0; i < flds.length; i++) { if (flds[i].isUsable(NakedObjectsContext.getAuthenticationSession(), adapter).isAllowed()) { allFieldUneditable = false; break; } } if (!immutable && !allFieldUneditable) { content.add(context.getComponentFactory().createEditOption(id)); } context.setObjectCrumb(adapter); }
@Override protected void doExecute(final Context context, final ViewPane content, final NakedObject adapter, final String field) { final String id = context.mapObject(adapter); createObjectView(context, adapter, content, id); final NakedObjectSpecification specification = adapter.getSpecification(); // TODO: this test should be done by the ImmutableFacetFactory installing an immutableFacet on every // member boolean immutable = SpecificationFacets.isAlwaysImmutable(specification) || (adapter.isPersistent() && SpecificationFacets.isImmutableOncePersisted(specification)); boolean allFieldUneditable = true; final NakedObjectAssociation[] flds = specification.getAssociations(); for (int i = 0; i < flds.length; i++) { if (flds[i].isUsable(NakedObjectsContext.getAuthenticationSession(), adapter).isAllowed()) { allFieldUneditable = false; break; } } if (!immutable && !allFieldUneditable) { content.add(context.getComponentFactory().createEditOption(id)); } context.setObjectCrumb(adapter); }
descriptions[i] = fld.getDescription(); final Consent usableByUser = fld.isUsable(NakedObjectsContext.getAuthenticationSession(), object); if (usableByUser.isVetoed()) { descriptions[i] = usableByUser.getReason();
descriptions[i] = fld.getDescription(); final Consent usableByUser = fld.isUsable(NakedObjectsContext.getAuthenticationSession(), object); if (usableByUser.isVetoed()) { descriptions[i] = usableByUser.getReason();