01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19: package org.apache.axis2.jaxws.runtime.description.marshal;
20:
21: import org.apache.axis2.jaxws.description.FaultDescription;
22: import org.apache.axis2.jaxws.description.OperationDescription;
23: import org.apache.axis2.jaxws.description.ServiceRuntimeDescription;
24: import org.apache.axis2.jaxws.message.factory.MessageFactory;
25: import org.apache.axis2.jaxws.utility.PropertyDescriptorPlus;
26:
27: import java.util.Map;
28: import java.util.TreeSet;
29:
30: /** Used to cache marshal information */
31: public interface MarshalServiceRuntimeDescription extends
32: ServiceRuntimeDescription {
33:
34: /** @return Set of package names for this service */
35: public TreeSet<String> getPackages();
36:
37: /** @return Unique key that represents the object returned by getPackages */
38: public String getPackagesKey();
39:
40: /**
41: * Get the AnnotationDesc for this class. If one is not cached, a new one is creatd
42: *
43: * @param cls
44: * @return AnnotationDesc
45: */
46: public AnnotationDesc getAnnotationDesc(Class cls);
47:
48: /**
49: * Get the PropertyDescriptor map for the class. The key of the map is a child xml local name.
50: * The value is a PropertyDescriptor, that will be used to set/get values from a bean of the
51: * indicated class
52: *
53: * @param cls
54: * @return get the cached copy or create a new one
55: */
56: public Map<String, PropertyDescriptorPlus> getPropertyDescriptorMap(
57: Class cls);
58:
59: /**
60: * @param operationDesc
61: * @return specified or defaulted wrapper class name. Always returns null if the wrapper class
62: * does not exist.
63: */
64: public String getRequestWrapperClassName(
65: OperationDescription operationDesc);
66:
67: /**
68: * @param operationDesc
69: * @return specified or defaulted wrapper class name. Always returns null if the wrapper class
70: * does not exist.
71: */
72: public String getResponseWrapperClassName(
73: OperationDescription operationDesc);
74:
75: /**
76: * @param faultDesc
77: * @return FaultBeanDescriptor that describes the fault bean
78: */
79: public FaultBeanDesc getFaultBeanDesc(FaultDescription faultDesc);
80:
81: /** @return MessageFactory for this Marshaller */
82: public MessageFactory getMessageFactory();
83:
84: }
|