001/*
002 * (C) Copyright 2006-2008 Nuxeo SAS (http://nuxeo.com/) and contributors.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the GNU Lesser General Public License
006 * (LGPL) version 2.1 which accompanies this distribution, and is available at
007 * http://www.gnu.org/licenses/lgpl.html
008 *
009 * This library is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012 * Lesser General Public License for more details.
013 *
014 * Contributors:
015 *     Alexandre Russel
016 *
017 * $Id$
018 */
019
020package org.nuxeo.ecm.platform.annotations.service;
021
022import java.util.ArrayList;
023import java.util.List;
024
025import org.nuxeo.ecm.platform.annotations.api.AnnotationsConstants;
026import org.nuxeo.ecm.platform.annotations.api.UriResolver;
027import org.nuxeo.ecm.platform.annotations.descriptors.PermissionMapperDescriptor;
028
029/**
030 * @author Alexandre Russel
031 */
032public class AnnotationConfigurationServiceImpl implements AnnotationConfigurationService {
033
034    private final List<EventListener> listeners = new ArrayList<EventListener>();
035
036    private UriResolver resolver;
037
038    private URLPatternFilter filter;
039
040    private MetadataMapper mapper;
041
042    private PermissionManager permissionManager;
043
044    private AnnotabilityManager annotabilityManager;
045
046    private AnnotationIDGenerator idGenerator;
047
048    private String baseUrl = AnnotationsConstants.annotationBaseUrl;
049
050    private PermissionMapperDescriptor permissionMapper;
051
052    public UriResolver getUriResolver() {
053        return resolver;
054    }
055
056    public void setUriResolver(UriResolver resolver) {
057        this.resolver = resolver;
058    }
059
060    public URLPatternFilter getUrlPatternFilter() {
061        return filter;
062    }
063
064    public void setFilter(URLPatternFilter filter) {
065        this.filter = filter;
066    }
067
068    public MetadataMapper getMetadataMapper() {
069        return mapper;
070    }
071
072    public void setMetadataMapper(MetadataMapper mapper) {
073        this.mapper = mapper;
074    }
075
076    public PermissionManager getPermissionManager() {
077        return permissionManager;
078    }
079
080    public void setPermissionManager(PermissionManager permissionManager) {
081        this.permissionManager = permissionManager;
082    }
083
084    public AnnotabilityManager getAnnotabilityManager() {
085        return annotabilityManager;
086    }
087
088    public void setAnnotabilityManager(AnnotabilityManager annotabilityManager) {
089        this.annotabilityManager = annotabilityManager;
090    }
091
092    public AnnotationIDGenerator getIDGenerator() {
093        return idGenerator;
094    }
095
096    public void setIDGenerator(AnnotationIDGenerator idGenerator) {
097        this.idGenerator = idGenerator;
098    }
099
100    public String getBaseUrl() {
101        return baseUrl;
102    }
103
104    public void setBaseUrl(String baseUrl) {
105        this.baseUrl = baseUrl;
106    }
107
108    public PermissionMapperDescriptor getPermissionMapper() {
109        return permissionMapper;
110    }
111
112    public void setPermissionMapper(PermissionMapperDescriptor permissionMapper) {
113        this.permissionMapper = permissionMapper;
114    }
115
116    public List<EventListener> getListeners() {
117        return listeners;
118    }
119
120    public void addListener(EventListener listener) {
121        listeners.add(listener);
122    }
123
124    public String getCreateAnnotationPermission() {
125        return permissionMapper.getCreateAnnotationValue();
126    }
127
128    public String getDeleteAnnotationPermission() {
129        return permissionMapper.getDeleteAnnotationValue();
130    }
131
132    public String getReadAnnotationPermission() {
133        return permissionMapper.getReadAnnotationValue();
134    }
135
136    public String getUpdateAnnotationPermission() {
137        return permissionMapper.getUpdateAnnotationValue();
138    }
139
140}