VirtualHostAccess.java
01 /*
02  *  Licensed to the Apache Software Foundation (ASF) under one
03  *  or more contributor license agreements.  See the NOTICE file
04  *  distributed with this work for additional information
05  *  regarding copyright ownership.  The ASF licenses this file
06  *  to you under the Apache License, Version 2.0 (the
07  *  "License"); you may not use this file except in compliance
08  *  with the License.  You may obtain a copy of the License at
09  *
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  
20  */
21 package org.apache.qpid.server.security.access;
22 
23 public class VirtualHostAccess
24 {
25     private String _vhost;
26     private AccessRights _rights;
27 
28     public VirtualHostAccess(String vhostaccess)
29     {
30         //format <vhost>(<rights>)
31         int hostend = vhostaccess.indexOf('(');
32 
33         if (hostend == -1)
34         {
35             throw new IllegalArgumentException("VirtualHostAccess format string contains no access _rights");
36         }
37 
38         _vhost = vhostaccess.substring(0, hostend);
39 
40         String rights = vhostaccess.substring(hostend);
41 
42         if (rights.indexOf('r'!= -1)
43         {
44             if (rights.indexOf('w'!= -1)
45             {
46                 _rights = new AccessRights(AccessRights.Rights.READWRITE);
47             }
48             else
49             {
50                 _rights = new AccessRights(AccessRights.Rights.READ);
51             }
52         }
53         else if (rights.indexOf('w'!= -1)
54         {
55             _rights = new AccessRights(AccessRights.Rights.WRITE);
56         }
57     }
58 
59     public AccessRights getAccessRights()
60     {
61         return _rights;
62     }
63 
64     public String getVirtualHost()
65     {
66         return _vhost;
67     }
68 }