001/* 002 * Copyright 2012 Anyware Services 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.ametys.plugins.repository.dublincore; 017 018import java.util.Date; 019 020import org.ametys.plugins.repository.AmetysRepositoryException; 021import org.ametys.plugins.repository.ModifiableAmetysObject; 022 023/** 024 * Interface for ametys objects which can contain Dublin Core metadata. 025 */ 026public interface ModifiableDublinCoreAwareAmetysObject extends DublinCoreAwareAmetysObject, ModifiableAmetysObject 027{ 028 /** 029 * Set the Dublin Core title. 030 * @param title the Dublin Core title to set. Can be null. 031 * @throws AmetysRepositoryException if an error occurs. 032 */ 033 void setDCTitle(String title) throws AmetysRepositoryException; 034 035 /** 036 * Set the Dublin Core creator. 037 * @param creator the Dublin Core creator to set. Can be null. 038 * @throws AmetysRepositoryException if an error occurs. 039 */ 040 void setDCCreator(String creator) throws AmetysRepositoryException; 041 042 /** 043 * Set the Dublin Core subject. 044 * @param subject the Dublin Core subject to set. Can be null. 045 * @throws AmetysRepositoryException if an error occurs. 046 */ 047 void setDCSubject(String[] subject) throws AmetysRepositoryException; 048 049 /** 050 * Set the Dublin Core description. 051 * @param description the Dublin Core description to set. Can be null. 052 * @throws AmetysRepositoryException if an error occurs. 053 */ 054 void setDCDescription(String description) throws AmetysRepositoryException; 055 056 /** 057 * Set the Dublin Core publisher. 058 * @param publisher the Dublin Core publisher to set. Can be null. 059 * @throws AmetysRepositoryException if an error occurs. 060 */ 061 void setDCPublisher(String publisher) throws AmetysRepositoryException; 062 063 /** 064 * Set the Dublin Core contributor. 065 * @param contributor the Dublin Core contributor to set. Can be null. 066 * @throws AmetysRepositoryException if an error occurs. 067 */ 068 void setDCContributor(String contributor) throws AmetysRepositoryException; 069 070 /** 071 * Set the Dublin Core date. 072 * @param date the Dublin Core date to set. Can be null. 073 * @throws AmetysRepositoryException if an error occurs. 074 */ 075 void setDCDate(Date date) throws AmetysRepositoryException; 076 077 /** 078 * Set the Dublin Core type. You can use a constant from org.ametys.plugins.repository.dublincore.DCMITypes. 079 * @param type the Dublin Core type to set. Can be null. 080 * @throws AmetysRepositoryException if an error occurs. 081 */ 082 void setDCType(String type) throws AmetysRepositoryException; 083 084 /** 085 * Set the Dublin Core format. 086 * @param format the Dublin Core format to set. Can be null. 087 * @throws AmetysRepositoryException if an error occurs. 088 */ 089 void setDCFormat(String format) throws AmetysRepositoryException; 090 091 /** 092 * Set the Dublin Core identifier. 093 * @param identifier the Dublin Core identifier to set. Can be null. 094 * @throws AmetysRepositoryException if an error occurs. 095 */ 096 void setDCIdentifier(String identifier) throws AmetysRepositoryException; 097 098 /** 099 * Set the Dublin Core source. 100 * @param source the Dublin Core source to set. Can be null. 101 * @throws AmetysRepositoryException if an error occurs. 102 */ 103 void setDCSource(String source) throws AmetysRepositoryException; 104 105 /** 106 * Set the Dublin Core language. 107 * @param language the Dublin Core language to set. Can be null. 108 * @throws AmetysRepositoryException if an error occurs. 109 */ 110 void setDCLanguage(String language) throws AmetysRepositoryException; 111 112 /** 113 * Set the Dublin Core relation. 114 * @param relation the Dublin Core relation to set. Can be null. 115 * @throws AmetysRepositoryException if an error occurs. 116 */ 117 void setDCRelation(String relation) throws AmetysRepositoryException; 118 119 /** 120 * Set the Dublin Core coverage. 121 * @param coverage the Dublin Core coverage to set. Can be null. 122 * @throws AmetysRepositoryException if an error occurs. 123 */ 124 void setDCCoverage(String coverage) throws AmetysRepositoryException; 125 126 /** 127 * Set the Dublin Core rights. 128 * @param rights the Dublin Core rights to set. Can be null. 129 * @throws AmetysRepositoryException if an error occurs. 130 */ 131 void setDCRights(String rights) throws AmetysRepositoryException; 132}