OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
public ValidateMethodBindingDstu2Plus(Class<?> theReturnResourceType, Class<? extends IBaseResource> theReturnTypeFromRp, Method theMethod, FhirContext theContext, Object theProvider, Validate theAnnotation) { super(theReturnResourceType, theReturnTypeFromRp, theMethod, theContext, theProvider, true, Constants.EXTOP_VALIDATE, theAnnotation.type(), new OperationParam[0], BundleTypeEnum.COLLECTION); List<IParameter> newParams = new ArrayList<IParameter>(); int idx = 0; for (IParameter next : getParameters()) { if (next instanceof ResourceParameter) { if (IBaseResource.class.isAssignableFrom(((ResourceParameter) next).getResourceType())) { Class<?> parameterType = theMethod.getParameterTypes()[idx]; if (String.class.equals(parameterType) || EncodingEnum.class.equals(parameterType)) { newParams.add(next); } else { OperationParameter parameter = new OperationParameter(theContext, Constants.EXTOP_VALIDATE, Constants.EXTOP_VALIDATE_RESOURCE, 0, 1); parameter.initializeTypes(theMethod, null, null, parameterType); newParams.add(parameter); } } else { newParams.add(next); } } else { newParams.add(next); } idx++; } setParameters(newParams); }
} else if (nextAnnotation instanceof OperationParam) { Operation op = theMethod.getAnnotation(Operation.class); param = new OperationParameter(theContext, op.name(), ((OperationParam) nextAnnotation)); } else if (nextAnnotation instanceof Validate.Mode) { if (parameterType.equals(ValidationModeEnum.class) == false) { "Parameter annotated with @" + Validate.class.getSimpleName() + "." + Validate.Mode.class.getSimpleName() + " must be of type " + ValidationModeEnum.class.getName()); param = new OperationParameter(theContext, Constants.EXTOP_VALIDATE, Constants.EXTOP_VALIDATE_MODE, 0, 1).setConverter(new IOperationParamConverter() { @Override public Object incomingServer(Object theObject) { "Parameter annotated with @" + Validate.class.getSimpleName() + "." + Validate.Profile.class.getSimpleName() + " must be of type " + String.class.getName()); param = new OperationParameter(theContext, Constants.EXTOP_VALIDATE, Constants.EXTOP_VALIDATE_PROFILE, 0, 1).setConverter(new IOperationParamConverter() { @Override public Object incomingServer(Object theObject) {
} else if (nextAnnotation instanceof OperationParam) { Operation op = theMethod.getAnnotation(Operation.class); param = new OperationParameter(theContext, op.name(), ((OperationParam) nextAnnotation)); } else if (nextAnnotation instanceof Validate.Mode) { if (parameterType.equals(ValidationModeEnum.class) == false) { "Parameter annotated with @" + Validate.class.getSimpleName() + "." + Validate.Mode.class.getSimpleName() + " must be of type " + ValidationModeEnum.class.getName()); param = new OperationParameter(theContext, Constants.EXTOP_VALIDATE, Constants.EXTOP_VALIDATE_MODE, 0, 1).setConverter(new IOperationParamConverter() { @Override public Object incomingServer(Object theObject) { "Parameter annotated with @" + Validate.class.getSimpleName() + "." + Validate.Profile.class.getSimpleName() + " must be of type " + String.class.getName()); param = new OperationParameter(theContext, Constants.EXTOP_VALIDATE, Constants.EXTOP_VALIDATE_PROFILE, 0, 1).setConverter(new IOperationParamConverter() { @Override public Object incomingServer(Object theObject) {
OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); if (nextParam.getSearchParamType() != null) { param.getSearchTypeElement().setValueAsString(nextParam.getSearchParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
public ValidateMethodBindingDstu2Plus(Class<?> theReturnResourceType, Class<? extends IBaseResource> theReturnTypeFromRp, Method theMethod, FhirContext theContext, Object theProvider, Validate theAnnotation) { super(theReturnResourceType, theReturnTypeFromRp, theMethod, theContext, theProvider, true, Constants.EXTOP_VALIDATE, theAnnotation.type(), new OperationParam[0], BundleTypeEnum.COLLECTION); List<IParameter> newParams = new ArrayList<IParameter>(); int idx = 0; for (IParameter next : getParameters()) { if (next instanceof ResourceParameter) { if (IBaseResource.class.isAssignableFrom(((ResourceParameter) next).getResourceType())) { Class<?> parameterType = theMethod.getParameterTypes()[idx]; if (String.class.equals(parameterType) || EncodingEnum.class.equals(parameterType)) { newParams.add(next); } else { OperationParameter parameter = new OperationParameter(theContext, Constants.EXTOP_VALIDATE, Constants.EXTOP_VALIDATE_RESOURCE, 0, 1); parameter.initializeTypes(theMethod, null, null, parameterType); newParams.add(parameter); } } else { newParams.add(next); } } else { newParams.add(next); } idx++; } setParameters(newParams); }
OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); if (nextParam.getSearchParamType() != null) { param.getSearchTypeElement().setValueAsString(nextParam.getSearchParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); if (nextParam.getSearchParamType() != null) { param.getSearchTypeElement().setValueAsString(nextParam.getSearchParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); if (nextParam.getSearchParamType() != null) { param.getSearchTypeElement().setValueAsString(nextParam.getSearchParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
OperationParameter nextParam = (OperationParameter) nextParamUntyped; Parameter param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());
OperationParameter nextParam = (OperationParameter) nextParamUntyped; OperationDefinitionParameterComponent param = op.addParameter(); if (!inParams.add(nextParam.getName())) { continue; if (nextParam.getParamType() != null) { param.setType(nextParam.getParamType()); if (nextParam.getSearchParamType() != null) { param.getSearchTypeElement().setValueAsString(nextParam.getSearchParamType()); param.setMin(nextParam.getMin()); param.setMax(nextParam.getMax() == -1 ? "*" : Integer.toString(nextParam.getMax())); param.setName(nextParam.getName());