001/* 002 * Trident - A Multithreaded Server Alternative 003 * Copyright 2014 The TridentSDK Team 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package net.tridentsdk.inventory; 018 019import net.tridentsdk.registry.Registry; 020 021import javax.annotation.concurrent.ThreadSafe; 022 023/** 024 * Handles windows opened and closed by the server 025 * <p> 026 * <p>To access this handler, use this code: 027 * <pre><code> 028 * Inventories handler = Registered.inventories(); 029 * </code></pre></p> 030 * 031 * @author The TridentSDK Team 032 * @since 0.3-alpha-DP 033 */ 034@ThreadSafe 035public interface Inventories extends Registry<Inventory> { 036 /** 037 * Gets a inventory by its ID 038 * 039 * @param id the ID of a inventory 040 * @return the inventory with the ID, or {@code null} if it doesn't exist 041 */ 042 Inventory fromId(int id); 043 044 /** 045 * Registers the inventory with the manager 046 * 047 * @param window the inventory to be registered 048 */ 049 void register(Inventory window); 050}