private ObjectAdapter[] realParameters(final ObjectAdapter target, final ObjectAdapter[] parameters) { if (parameters != null) { return parameters; } return isContributed() ? new ObjectAdapter[] { target } : new ObjectAdapter[0]; }
/** * Previously (prior to 3.0.x) this method had a check to see if the action * was on an instance. With the reflector redesign this has been removed, * because NOF 3.x only supports instance methods, not class-level methods. */ @Override public ObjectAdapter realTarget(final ObjectAdapter target) { if (target == null) { return findService(); } else if (target.getSpecification().isService()) { return target; } else if (isContributed()) { return findService(); } else { return target; } }
@Override public boolean promptForParameters(final ObjectAdapter target) { final List<ObjectActionParameter> parameters = getParameters(); if (isContributed() && !target.getSpecification().isService()) { return getParameterCount() > 1 || !target.getSpecification().isOfType(parameters.get(0).getSpecification()); } else { return getParameterCount() > 0; } }
@Override public ObjectAdapter getDefault(final ObjectAdapter adapter) { if (parentAction.isContributed() && adapter != null) { if (adapter.getSpecification().isOfType(getSpecification())) { return adapter; } } final ActionParameterDefaultsFacet defaultsFacet = getFacet(ActionParameterDefaultsFacet.class); if (defaultsFacet != null) { final Object dflt = defaultsFacet.getDefault(parentAction.realTarget(adapter)); if (dflt == null) { // it's possible that even though there is a default facet, when // invoked it // is unable to return a default. return null; } return getAdapterMap().adapterFor(dflt); } return null; }
if (isContributed() && target != null) { for (int i = 0; i < parameterCount; i++) { if (target.getSpecification().isOfType(parameters.get(i).getSpecification())) {