001/*
002 *  Copyright 2010 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.AmetysObject;
021import org.ametys.plugins.repository.AmetysRepositoryException;
022
023/**
024 * Interface for ametys objects which can contain Dublin Core metadata.
025 */
026public interface DublinCoreAwareAmetysObject extends AmetysObject
027{
028    
029    /**
030     * Get the Dublin Core title.
031     * @return the Dublin Core title. Can be null.
032     * @throws AmetysRepositoryException if an error occurs.
033     */
034    String getDCTitle() throws AmetysRepositoryException;
035    
036    /**
037     * Get the Dublin Core creator.
038     * @return the Dublin Core creator. Can be null.
039     * @throws AmetysRepositoryException if an error occurs.
040     */
041    String getDCCreator() throws AmetysRepositoryException;
042    
043    /**
044     * Get the Dublin Core subject.
045     * @return the Dublin Core subject. Can be null.
046     * @throws AmetysRepositoryException if an error occurs.
047     */
048    String[] getDCSubject() throws AmetysRepositoryException;
049    
050    /**
051     * Get the Dublin Core description.
052     * @return the Dublin Core description. Can be null.
053     * @throws AmetysRepositoryException if an error occurs.
054     */
055    String getDCDescription() throws AmetysRepositoryException;
056    
057    /**
058     * Get the Dublin Core publisher.
059     * @return the Dublin Core publisher. Can be null.
060     * @throws AmetysRepositoryException if an error occurs.
061     */
062    String getDCPublisher() throws AmetysRepositoryException;
063    
064    /**
065     * Get the Dublin Core contributor.
066     * @return the Dublin Core contributor. Can be null.
067     * @throws AmetysRepositoryException if an error occurs.
068     */
069    String getDCContributor() throws AmetysRepositoryException;
070    
071    /**
072     * Get the Dublin Core date.
073     * @return the Dublin Core date. Can be null.
074     * @throws AmetysRepositoryException if an error occurs.
075     */
076    Date getDCDate() throws AmetysRepositoryException;
077    
078    /**
079     * Get the Dublin Core type.
080     * @return the Dublin Core type. Can be null.
081     * @throws AmetysRepositoryException if an error occurs.
082     */
083    String getDCType() throws AmetysRepositoryException;
084    
085    /**
086     * Get the Dublin Core format.
087     * @return the Dublin Core format. Can be null.
088     * @throws AmetysRepositoryException if an error occurs.
089     */
090    String getDCFormat() throws AmetysRepositoryException;
091    
092    /**
093     * Get the Dublin Core identifier.
094     * @return the Dublin Core identifier. Can be null.
095     * @throws AmetysRepositoryException if an error occurs.
096     */
097    String getDCIdentifier() throws AmetysRepositoryException;
098    
099    /**
100     * Get the Dublin Core source.
101     * @return the Dublin Core source. Can be null.
102     * @throws AmetysRepositoryException if an error occurs.
103     */
104    String getDCSource() throws AmetysRepositoryException;
105    
106    /**
107     * Get the Dublin Core language.
108     * @return the Dublin Core language. Can be null.
109     * @throws AmetysRepositoryException if an error occurs.
110     */
111    String getDCLanguage() throws AmetysRepositoryException;
112    
113    /**
114     * Get the Dublin Core relation.
115     * @return the Dublin Core relation. Can be null.
116     * @throws AmetysRepositoryException if an error occurs.
117     */
118    String getDCRelation() throws AmetysRepositoryException;
119    
120    /**
121     * Get the Dublin Core coverage.
122     * @return the Dublin Core coverage. Can be null.
123     * @throws AmetysRepositoryException if an error occurs.
124     */
125    String getDCCoverage() throws AmetysRepositoryException;
126    
127    /**
128     * Get the Dublin Core rights.
129     * @return the Dublin Core rights. Can be null.
130     * @throws AmetysRepositoryException if an error occurs.
131     */
132    String getDCRights() throws AmetysRepositoryException;
133    
134}