1 // Copyright 2008 Thiago H. de Paula Figueiredo
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 package br.com.arsmachina.tapestrycrud.encoder;
16
17 import java.io.Serializable;
18
19 import org.apache.tapestry5.PrimaryKeyEncoder;
20 import org.apache.tapestry5.ValueEncoder;
21 import org.apache.tapestry5.services.ValueEncoderFactory;
22
23 /**
24 * Single interface used to define many encoding-related services. This interface extends
25 * {@link LabelEncoder}, {@link PrimaryKeyEncoder}, {@link ValueEncoder},
26 * {@link ValueEncoderFactory}, and {@link ActivationContextEncoder}.
27 *
28 * @param <T> the entity class related to this encoder.
29 * @param <K> the type of the class' primary key property.
30 *
31 * @author Thiago H. de Paula Figueiredo
32 */
33 public interface Encoder<T, K extends Serializable> extends
34 PrimaryKeyEncoder<K, T>, ValueEncoder<T>, ValueEncoderFactory<T>,
35 ActivationContextEncoder<T>, LabelEncoder<T> {
36
37 }