1 /**
2 * Copyright 2005-2011 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.rice.core.api.style;
17
18 import java.util.List;
19
20 import javax.xml.transform.Templates;
21 import javax.xml.transform.TransformerConfigurationException;
22
23 /**
24 * Service for working with stylesheets. This service provides pure data-oriented
25 * operations as well as operations dealing with pre-compiled stylesheets. It's
26 * intended that most clients will interact with this service in lieu of the
27 * lower-level {@link StyleRepositoryService}.
28 *
29 * @see Style
30 * @see StyleRepositoryService
31 *
32 * @author Kuali Rice Team (rice.collab@kuali.org)
33 *
34 */
35 public interface StyleService {
36
37 /**
38 * @see StyleRepositoryService#getStyle(String)
39 */
40 public Style getStyle(String styleName);
41
42 /**
43 * @see StyleRepositoryService#getAllStyleNames()
44 */
45 public List<String> getAllStyleNames();
46
47 /**
48 * @see StyleRepositoryService#saveStyle(Style)
49 */
50 public void saveStyle(Style data);
51
52 /**
53 * Gets a compiled version of the style with the given name.
54 *
55 * @param styleName the name of the style for which to retrieve a compiled version
56 *
57 * @return a compiled version of the stylesheet as a {@link Templates} instance
58 *
59 * @throws TransformerConfigurationException if compilation of the stylesheet fails
60 * @throws IllegalArgumentException if the given styleName is null or blank
61 */
62 public Templates getStyleAsTranslet(String styleName) throws TransformerConfigurationException;
63
64
65 }