com.sun.xml.ws.client.sei.ValueGetterFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of webservices-osgi Show documentation
Show all versions of webservices-osgi Show documentation
Metro Web Services Runtime OSGi Bundle
The newest version!
/*
* Copyright (c) 1997, 2022 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package com.sun.xml.ws.client.sei;
import com.sun.xml.ws.model.ParameterImpl;
import jakarta.jws.WebParam;
/**
* {@link ValueGetterFactory} is used to create {@link ValueGetter} objects.
*
* @author Jitendra Kotamraju
*/
abstract class ValueGetterFactory {
abstract ValueGetter get(ParameterImpl p);
static final ValueGetterFactory SYNC = new ValueGetterFactory() {
@Override
ValueGetter get(ParameterImpl p) {
return (p.getMode()== WebParam.Mode.IN || p.getIndex() == -1)
? ValueGetter.PLAIN : ValueGetter.HOLDER;
}
};
/**
* In case of SEI async signatures, there are no holders. The OUT
* parameters go in async bean class
*/
static final ValueGetterFactory ASYNC = new ValueGetterFactory() {
@Override
ValueGetter get(ParameterImpl p) {
return ValueGetter.PLAIN;
}
};
}