01: /*
02: * Copyright 2006 Giordano Maestro (giordano.maestro@assetdata.it)
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:
17: package org.romaframework.aspect.reporting;
18:
19: import java.util.Collection;
20:
21: import org.romaframework.core.aspect.Aspect;
22: import org.romaframework.core.schema.SchemaClassDefinition;
23:
24: /**
25: * Reporting Aspect behavior interface.
26: *
27: *
28: * @author Luca Garulli (luca.garulli@assetdata.it)
29: */
30: public interface ReportingAspect extends Aspect {
31:
32: public static final String ASPECT_NAME = "reporting";
33:
34: public String[] getSupportedTypes();
35:
36: public void createTemplate(SchemaClassDefinition obj)
37: throws ReportingException;
38:
39: public byte[] render(Object iToRender);
40:
41: public String getDocumentType(String renderType);
42:
43: public byte[] render(Object iToRender, String iRenderType);
44:
45: public byte[] renderCollection(Collection<?> collection);
46:
47: public byte[] renderCollection(Collection<?> collection,
48: String iRenderType);
49: }
|