1 /*
2 * Copyright 2002-2005 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License. You may obtain a copy of
6 * 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, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations under
14 * the License.
15 */
16 package org.springframework.richclient.core;
17
18 import org.springframework.richclient.security.SecurityController;
19
20 /**
21 * Interface implemented by objects whose authorized state can be controlled by a
22 * {@link SecurityController}. Any object that implements this interface and is processed by
23 * {@link org.springframework.richclient.application.config.ApplicationObjectConfigurer#configure(Object, String)}
24 * will be linked to the security controller with the id returned by
25 * {@link #getSecurityControllerId()}
26 *
27 * @author Larry Streepy
28 * @see org.springframework.richclient.security.SecurityController
29 * @see org.springframework.richclient.application.config.ApplicationObjectConfigurer#configure(Object, String)
30 */
31 public interface SecurityControllable extends Authorizable {
32
33 /**
34 * Set the Id of the security controller that should manage this object.
35 * @param controllerId Id (bean name) of the security controller
36 */
37 public void setSecurityControllerId(String controllerId);
38
39 /**
40 * Get the id (bean name) of the security controller that should manage this object.
41 * @return controller id
42 */
43 public String getSecurityControllerId();
44
45 }