2  * Copyright 2005 the original author or authors.
 
   4  * Licensed under the Apache License, Version 2.0 (the "License");
 
   5  * you may not use this file except in compliance with the License.
 
   6  * You may obtain a copy of the License at
 
   8  *      http://www.apache.org/licenses/LICENSE-2.0
 
  10  * Unless required by applicable law or agreed to in writing, software
 
  11  * distributed under the License is distributed on an "AS IS" BASIS,
 
  12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13  * See the License for the specific language governing permissions and
 
  14  * limitations under the License.
 
  17 package org.wamblee.security.authorization;
 
  21  * Utility to map between a list of operations and a string based
 
  22  * on the names of the operations.   
 
  24  * @author Erik Brakkee
 
  26 public interface OperationRegistry {
 
  29      * Gets the supported operations for a given resource class. 
 
  30      * @param aResourceClass Resource class. 
 
  31      * @return Supported operations for that class. 
 
  33     Operation[] getOperations(Class aResourceClass);
 
  36      * Converts a number of operations to a string. 
 
  37      * @param aOperations Operations to convert. 
 
  38      * @return String representation of the allowed operations. 
 
  40     String encode(Operation[] aOperations);
 
  43      * Converts an operations string to an array of operations.
 
  44      * @param aResourceClass Resource class.  
 
  45      * @param aOperationsString Operations string as returned by {@link #encode(Operation[])}.
 
  46      * @return Operations array. 
 
  48     Operation[] decode(Class aResourceClass, String aOperationsString);
 
  51      * Converts an operations string to an array of operations.
 
  52      * @param aOperationsString Operations string as returned by {@link #encode(Operation[])}.
 
  53      * @return Operations array. 
 
  55     Operation[] decode(String aOperationsString);