blob: 0f102ed2f9b5e946bbc08f6b5002d98506d60e5a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.felix.scrplugin.description;
/**
* Options for {@link ReferenceDescription#getCardinality()}
*/
public enum ReferenceCardinality {
/**
* Optional, unary reference: No service required to be available for the
* refernce to be satisfied. Only a single service is available through this
* reference.
*/
OPTIONAL_UNARY("0..1"),
/**
* Mandatory, unary reference: At least one service must be available for
* the reference to be satisfied. Only a single service is available through
* this reference.
*/
MANDATORY_UNARY("1..1"),
/**
* Optional, multiple reference: No service required to be available for the
* refernce to be satisfied. All matching services are available through
* this reference.
*/
OPTIONAL_MULTIPLE("0..n"),
/**
* Mandatory, multiple reference: At least one service must be available for
* the reference to be satisified. All matching services are available
* through this reference.
*/
MANDATORY_MULTIPLE("1..n");
private final String cardinalityString;
private ReferenceCardinality(final String cardinalityString) {
this.cardinalityString = cardinalityString;
}
/**
* @return String representation of cardinality
*/
public String getCardinalityString() {
return this.cardinalityString;
}
public static ReferenceCardinality fromValue(final String value) {
for(final ReferenceCardinality rd : ReferenceCardinality.values() ) {
if ( rd.getCardinalityString().equals(value) ) {
return rd;
}
}
return null;
}
}