01: /*
02: * Copyright 2007 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package com.google.gwt.user.server.rpc;
17:
18: import com.google.gwt.user.client.rpc.SerializationException;
19:
20: /**
21: * This is an abstract class for representing the serialization policy for a
22: * given module and
23: * {@link com.google.gwt.user.client.rpc.RemoteService RemoteService}.
24: */
25: public abstract class SerializationPolicy {
26: /**
27: * Returns <code>true</code> if the class' fields should be deserialized.
28: *
29: * @param clazz the class to test
30: * @return <code>true</code> if the class' fields should be deserialized
31: */
32: public abstract boolean shouldDeserializeFields(Class<?> clazz);
33:
34: /**
35: * Returns <code>true</code> if the class' fields should be serialized.
36: *
37: * @param clazz the class to test
38: * @return <code>true</code> if the class' fields should be serialized
39: */
40: public abstract boolean shouldSerializeFields(Class<?> clazz);
41:
42: /**
43: * Validates that the specified class should be deserialized from a stream.
44: *
45: * @param clazz the class to validate
46: * @throws SerializationException if the class is not allowed to be
47: * deserialized
48: */
49: public abstract void validateDeserialize(Class<?> clazz)
50: throws SerializationException;
51:
52: /**
53: * Validates that the specified class should be serialized into a stream.
54: *
55: * @param clazz the class to validate
56: * @throws SerializationException if the class is not allowed to be serialized
57: */
58: public abstract void validateSerialize(Class<?> clazz)
59: throws SerializationException;
60: }
|