Condition.java

00001 /*
00002  * $Header: /cvshome/build/org.osgi.service.condpermadmin/src/org/osgi/service/condpermadmin/Condition.java,v 1.13 2006/06/16 16:31:37 hargrave Exp $
00003  *
00004  * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
00005  * 
00006  * Licensed under the Apache License, Version 2.0 (the "License");
00007  * you may not use this file except in compliance with the License.
00008  * You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 package org.osgi.service.condpermadmin;
00020 
00021 import java.util.Dictionary;
00022 
00030 public interface Condition {
00035         public final static Condition   TRUE    = new BooleanCondition(true);
00036 
00041         public final static Condition   FALSE   = new BooleanCondition(false);
00042 
00056         boolean isPostponed();
00057 
00064         boolean isSatisfied();
00065 
00073         boolean isMutable();
00074 
00092         boolean isSatisfied(Condition conditions[], Dictionary context);
00093 
00094 }
00095 
00100 final class BooleanCondition implements Condition {
00101         final boolean   satisfied;
00102 
00103         BooleanCondition(boolean satisfied) {
00104                 this.satisfied = satisfied;
00105         }
00106 
00107         public boolean isPostponed() {
00108                 return false;
00109         }
00110 
00111         public boolean isSatisfied() {
00112                 return satisfied;
00113         }
00114 
00115         public boolean isMutable() {
00116                 return false;
00117         }
00118 
00119         public boolean isSatisfied(Condition[] conds, Dictionary context) {
00120                 for (int i = 0; i < conds.length; i++) {
00121                         if (!conds[i].isSatisfied())
00122                                 return false;
00123                 }
00124                 return true;
00125         }
00126 
00127 }

Generated on Mon Jan 11 21:19:13 2010 for OpenMobileIS by  doxygen 1.5.4