1 /* 2 * Copyright 2012-2013 smartics, Kronseder & Reiner GmbH 3 * 4 * Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0 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 de.smartics.properties.spi.core.metadata; 17 18 import java.io.Serializable; 19 import java.util.Locale; 20 21 import de.smartics.properties.api.core.domain.DocumentName; 22 import de.smartics.properties.api.core.domain.PropertyDescriptor; 23 import de.smartics.properties.api.core.domain.PropertyProjectdoc; 24 import de.smartics.properties.api.core.domain.PropertySetProjectdoc; 25 26 /** 27 * Allows to lazy load annotation information. 28 */ 29 public interface DocumentMetaDataProxy extends Serializable 30 { 31 // ********************************* Fields ********************************* 32 33 // --- constants ------------------------------------------------------------ 34 35 // ****************************** Initializer ******************************* 36 37 // ****************************** Inner Classes ***************************** 38 39 // ********************************* Methods ******************************** 40 41 // --- get&set -------------------------------------------------------------- 42 43 /** 44 * Returns the name of the document that uniquely identifies the document 45 * within the project. 46 * 47 * @return the name of the document. 48 */ 49 DocumentName getDocumentName(); 50 51 // --- business ------------------------------------------------------------- 52 53 /** 54 * Returns the projectdoc information. 55 * 56 * @param descriptor the descriptor of the property whose property projectdoc 57 * is requested. 58 * @param locale the locale to select the projectdoc in a specific language. 59 * @return the projectdoc written for the given locale. 60 */ 61 PropertyProjectdoc getProjectdocProperty(PropertyDescriptor descriptor, 62 Locale locale); 63 64 /** 65 * Returns the projectdoc information for property sets. 66 * 67 * @param descriptor the descriptor of the property whose property set 68 * projectdoc is requested. 69 * @param locale the locale to select the projectdoc in a specific language. 70 * @return the property set projectdoc written for the given locale. 71 */ 72 PropertySetProjectdoc getProjectdocPropertySet(PropertyDescriptor descriptor, 73 Locale locale); 74 75 // --- object basics -------------------------------------------------------- 76 77 }