/* | |
* 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.webconsole.bundleinfo; | |
/** | |
* This entity defines additional bundle information entry, that is provided by | |
* the {@link BundleInfoProvider}. Each information entry is featured by name, | |
* value, type and description. | |
* | |
* @author Valentin Valchev | |
*/ | |
public class BundleInfo | |
{ | |
private final String name; | |
private final String description; | |
private final Object value; | |
private final BundleInfoType type; | |
/** | |
* Creates a new bundle information entry. | |
* | |
* @param name | |
* the name of the entry | |
* @param value | |
* the value associated with that entry | |
* @param type | |
* the type of the value | |
* @param description | |
* additional, user-friendly description for that value. | |
*/ | |
public BundleInfo( String name, Object value, BundleInfoType type, String description ) | |
{ | |
this.name = name; | |
this.value = value; | |
this.type = type; | |
this.description = description; | |
type.validate( value ); | |
} | |
/** | |
* Gets the name of the information entry. The name should be localized | |
* according the requested locale. | |
* | |
* @return the name of that information key. | |
*/ | |
public String getName() | |
{ | |
return name; | |
} | |
/** | |
* Gets user-friendly description of the key pair. The description should be | |
* localized according the requested locale. | |
* | |
* @return the description for that information key. | |
*/ | |
public String getDescription() | |
{ | |
return description; | |
} | |
/** | |
* Gets the information value. | |
* | |
* @return the value. | |
*/ | |
public Object getValue() | |
{ | |
return value; | |
} | |
/** | |
* Gets the type of the information value. | |
* | |
* @return the information type. | |
*/ | |
public BundleInfoType getType() | |
{ | |
return type; | |
} | |
} |