001 // Copyright 2007 The Apache Software Foundation
002 //
003 // Licensed under the Apache License, Version 2.0 (the "License");
004 // you may not use this file except in compliance with the License.
005 // You may obtain a copy of the License at
006 //
007 // http://www.apache.org/licenses/LICENSE-2.0
008 //
009 // Unless required by applicable law or agreed to in writing, software
010 // distributed under the License is distributed on an "AS IS" BASIS,
011 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
012 // See the License for the specific language governing permissions and
013 // limitations under the License.
014
015 package org.apache.tapestry5.annotations;
016
017 import java.lang.annotation.*;
018
019
020 /**
021 * Used to automatically include a CSS stylesheet when rendering the page. The value is an asset reference; relative
022 * paths are relative to the Java class, or a "context:" prefix can be used to reference resources in the web
023 * application.
024 * <p/>
025 * This saves the work of injecting the asset into a field and injecting the PageRenderSupport environmental service,
026 * and invoking the method.
027 * <p/>
028 * Does not support setting a media type; if that is required. use {@link org.apache.tapestry5.RenderSupport#addStylesheetLink(org.apache.tapestry5.Asset,
029 * String)} directly.
030 *
031 * @see org.apache.tapestry5.annotations.Path
032 * @see org.apache.tapestry5.annotations.IncludeJavaScriptLibrary
033 */
034 @Target({ ElementType.TYPE })
035 @Retention(RetentionPolicy.RUNTIME)
036 @Documented
037 public @interface IncludeStylesheet
038 {
039 /**
040 * One or more paths to be injected. Symbols in the path will be expanded. The stylesheets may be localized.
041 */
042 String[] value();
043 }