1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.shiro.env; 20 21 import org.apache.shiro.mgt.SecurityManager; 22 23 /** 24 * An {@code Environment} instance encapsulates all of the objects that Shiro requires to function. It is essentially 25 * a 'meta' object from which all Shiro components can be obtained for an application. 26 * <p/> 27 * An {@code Environment} instance is usually created as a result of parsing a Shiro configuration file. The 28 * environment instance can be stored in any place the application deems necessary, and from it, can retrieve any 29 * of Shiro's components that might be necessary in implementing security behavior. 30 * <p/> 31 * For example, the most obvious component accessible via an {@code Environment} instance is the application's 32 * {@link #getSecurityManager() securityManager}. 33 * 34 * @since 1.2 35 */ 36 public interface Environment { 37 38 /** 39 * Returns the application's {@code SecurityManager} instance. 40 * 41 * @return the application's {@code SecurityManager} instance. 42 */ 43 SecurityManager getSecurityManager(); 44 }