public Object invoke( final Object proxied, Method proxyMethod, Method proxiedMethod, Object[] args) throws Throwable { boolean ignore = proxyMethod.getDeclaringClass().equals(Object.class); ImperativeFacetFlags flags = null; if (!ignore) { final JavaSpecification targetObjSpec = getJavaSpecificationOfOwningClass(proxiedMethod); final NakedObjectMember member = targetObjSpec.getMember(proxiedMethod); flags = ImperativeFacetUtils.getImperativeFacetFlags(member, proxiedMethod); if (flags.impliesResolve()) { objectResolver.resolve(proxied, member.getName()); } } Object proxiedReturn = proxiedMethod.invoke(proxied, args); // execute the original method. if (!ignore && flags.impliesObjectChanged()) { objectChanger.objectChanged(proxied); } return proxiedReturn; } };
private void checkUsability(final AuthenticationSession session, final NakedObject targetNakedObject, final NakedObjectMember nakedObjectMember) { final InteractionResult interactionResult = nakedObjectMember.isUsable(getAuthenticationSession(), targetNakedObject).getInteractionResult(); notifyListenersAndVetoIfRequired(interactionResult); }
private void checkVisibility(final AuthenticationSession session, final NakedObject targetNakedObject, final NakedObjectMember nakedObjectMember) { final InteractionResult interactionResult = nakedObjectMember.isVisible(getAuthenticationSession(), targetNakedObject).getInteractionResult(); notifyListenersAndVetoIfRequired(interactionResult); }
final String memberName = nakedObjectMember.getName(); if (nakedObjectMember.isOneToOneAssociation()) { final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember; if (isGetterMethod) { if (nakedObjectMember.isOneToManyAssociation()) { final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember; if (isGetterMethod) {
public static ImperativeFacetFlags getImperativeFacetFlags(final NakedObjectMember member, final Method method) { ImperativeFacetFlags flags = new ImperativeFacetFlags(); if (member == null) { return flags; } Facet[] allFacets = member.getFacets(AbstractFilter.noop(Facet.class)); for (Facet facet : allFacets) { ImperativeFacet imperativeFacet = ImperativeFacetUtils.getImperativeFacet(facet); if (imperativeFacet == null) { continue; } List<Method> methods = imperativeFacet.getMethods(); if (!methods.contains(method)) { continue; } flags.apply(imperativeFacet); // no need to search further if (flags.bothSet()) { break; } } return flags; }
final String memberName = nakedObjectMember.getName(); if (nakedObjectMember.isOneToOneAssociation()) { final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember; if (isGetterMethod) { if (nakedObjectMember.isOneToManyAssociation()) { final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember; if (isGetterMethod) {
public static ImperativeFacetFlags getImperativeFacetFlags( final NakedObjectMember member, final Method method) { ImperativeFacetFlags flags = new ImperativeFacetFlags(); if (member == null) { return flags; } Facet[] allFacets = member.getFacets(AbstractFilter.noop(Facet.class)); for (Facet facet : allFacets) { ImperativeFacet imperativeFacet = ImperativeFacetUtils.getImperativeFacet(facet); if (imperativeFacet == null) { continue; } List<Method> methods = imperativeFacet.getMethods(); if(! methods.contains(method)) { continue; } flags.apply(imperativeFacet); // no need to search further if(flags.bothSet()) { break; } } return flags; }
final String memberName = nakedObjectMember.getName(); if (nakedObjectMember.isOneToOneAssociation()) { final OneToOneAssociation otoa = (OneToOneAssociation) nakedObjectMember; if (isGetterMethod) { if (nakedObjectMember.isOneToManyAssociation()) { final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember; if (isGetterMethod) {
private void checkVisibility(final AuthenticationSession session, final NakedObject targetNakedObject, final NakedObjectMember nakedObjectMember) { final InteractionResult interactionResult = nakedObjectMember.isVisible(getAuthenticationSession(), targetNakedObject).getInteractionResult(); notifyListenersAndVetoIfRequired(interactionResult); }
private void checkUsability(final AuthenticationSession session, final NakedObject targetNakedObject, final NakedObjectMember nakedObjectMember) { final InteractionResult interactionResult = nakedObjectMember.isUsable(getAuthenticationSession(), targetNakedObject).getInteractionResult(); notifyListenersAndVetoIfRequired(interactionResult); }
public Object invoke( final Object proxied, Method proxyMethod, Method proxiedMethod, Object[] args) throws Throwable { boolean ignore = proxyMethod.getDeclaringClass().equals(Object.class); ImperativeFacetFlags flags = null; if (!ignore) { final JavaSpecification targetObjSpec = getJavaSpecificationOfOwningClass(proxiedMethod); final NakedObjectMember member = targetObjSpec.getMember(proxiedMethod); flags = ImperativeFacetUtils.getImperativeFacetFlags(member, proxiedMethod); if (flags.impliesResolve()) { objectResolver.resolve(proxied, member.getName()); } } Object proxiedReturn = proxiedMethod.invoke(proxied, args); // execute the original method. if (!ignore && flags.impliesObjectChanged()) { objectChanger.objectChanged(proxied); } return proxiedReturn; } };
private void checkVisibility(final AuthenticationSession session, final NakedObject targetNakedObject, final NakedObjectMember nakedObjectMember) { final InteractionResult interactionResult = nakedObjectMember.isVisible(getAuthenticationSession(), targetNakedObject).getInteractionResult(); notifyListenersAndVetoIfRequired(interactionResult); }
private void checkUsability(final AuthenticationSession session, final NakedObject targetNakedObject, final NakedObjectMember nakedObjectMember) { final InteractionResult interactionResult = nakedObjectMember.isUsable(getAuthenticationSession(), targetNakedObject).getInteractionResult(); notifyListenersAndVetoIfRequired(interactionResult); }
public Object intercept( final Object proxied, final Method proxiedMethod, final Object[] args, final MethodProxy proxyMethod) throws Throwable { boolean ignore = proxiedMethod.getDeclaringClass().equals(Object.class); ImperativeFacetFlags flags = null; if (!ignore) { final JavaSpecification targetObjSpec = getJavaSpecificationOfOwningClass(proxiedMethod); final NakedObjectMember member = targetObjSpec.getMember(proxiedMethod); flags = ImperativeFacetUtils.getImperativeFacetFlags(member, proxiedMethod); if (flags.impliesResolve()) { objectResolver.resolve(proxied, member.getName()); } } final Object proxiedReturn = proxyMethod.invokeSuper(proxied, args); if (!ignore && flags.impliesObjectChanged()) { objectChanger.objectChanged(proxied); } return proxiedReturn; }
public AuthorizationResponse authorizeVisibility( AuthorizationRequestVisibility request) { NakedObject targetAdapter = encoderDecoder.decode(request.getTarget()); boolean allowed = getMember(request.getIdentifier()).isVisible(request.getSession(), targetAdapter).isAllowed(); return encoderDecoder.encodeAuthorizeResponse(allowed); }
public AuthorizationResponse authorizeUsability( AuthorizationRequestUsability request) { NakedObject targetAdapter = encoderDecoder.decode(request.getTarget()); boolean allowed = getMember(request.getIdentifier()).isUsable(request.getSession(), targetAdapter).isAllowed(); return encoderDecoder.encodeAuthorizeResponse(allowed); }
public AuthorizationResponse authorizeVisibility( AuthorizationRequestVisibility request) { NakedObject targetAdapter = encoderDecoder.decode(request.getTarget()); boolean allowed = getMember(request.getIdentifier()).isVisible(request.getSession(), targetAdapter).isAllowed(); return encoderDecoder.encodeAuthorizeResponse(allowed); }
public AuthorizationResponse authorizeUsability( AuthorizationRequestUsability request) { NakedObject targetAdapter = encoderDecoder.decode(request.getTarget()); boolean allowed = getMember(request.getIdentifier()).isUsable(request.getSession(), targetAdapter).isAllowed(); return encoderDecoder.encodeAuthorizeResponse(allowed); }