com.sun.faces.mgbean.ManagedBeanInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsf-impl Show documentation
Show all versions of jsf-impl Show documentation
This is the master POM file for Oracle's Implementation of the JSF 2.2 Specification.
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/
package com.sun.faces.mgbean;
import java.util.List;
import java.util.Map;
import com.sun.faces.el.ELUtils;
/**
* This class represents the parsed metadata for a managed-bean
* entry within a faces-config.xml.
*/
public class ManagedBeanInfo {
public static final String NULL_VALUE = "null_value";
private String name;
private String className;
private String beanScope;
boolean eager;
private ManagedBeanInfo.MapEntry mapEntry;
private ManagedBeanInfo.ListEntry listEntry;
private List managedProperties;
private Map descriptions;
// ------------------------------------------------------------ Constructors
public ManagedBeanInfo(String name,
String className,
String beanScope,
ManagedBeanInfo.MapEntry mapEntry,
ManagedBeanInfo.ListEntry listEntry,
List managedProperties,
Map descriptions) {
this(name,
className,
beanScope,
false,
mapEntry,
listEntry,
managedProperties,
descriptions);
}
public ManagedBeanInfo(String name,
String className,
String beanScope,
boolean eager,
ManagedBeanInfo.MapEntry mapEntry,
ManagedBeanInfo.ListEntry listEntry,
List managedProperties,
Map descriptions) {
this.name = name;
this.className = className;
this.beanScope = beanScope;
this.eager = eager;
this.mapEntry = mapEntry;
this.listEntry = listEntry;
this.managedProperties = managedProperties;
this.descriptions = descriptions;
if (eager && !ELUtils.Scope.APPLICATION.toString().equals(beanScope)) {
this.eager = false;
}
}
// ---------------------------------------------------------- Public Methods
public String getName() {
return name;
}
public String getClassName() {
return className;
}
public String getScope() {
return beanScope;
}
public boolean isEager() {
return eager;
}
public boolean hasMapEntry() {
return (mapEntry != null);
}
public MapEntry getMapEntry() {
return mapEntry;
}
public boolean hasListEntry() {
return (listEntry != null);
}
public ListEntry getListEntry() {
return listEntry;
}
public boolean hasManagedProperties() {
return (managedProperties != null);
}
public List getManagedProperties() {
return managedProperties;
}
public Map getDescriptions() {
return descriptions;
}
public ManagedBeanInfo clone(String name,
String scope,
boolean eager,
ManagedBeanInfo source) {
return new ManagedBeanInfo(name,
source.className,
scope,
eager,
source.mapEntry,
source.listEntry,
source.managedProperties,
source.descriptions);
}
// ----------------------------------------------------------- Inner Classes
public static class MapEntry {
private String keyClass;
private String valueClass;
private Map entries;
public MapEntry(String keyClass,
String valueClass,
Map entries) {
this.keyClass = keyClass;
this.valueClass = valueClass;
this.entries = entries;
}
public String getKeyClass() {
return keyClass;
}
public String getValueClass() {
return valueClass;
}
public Map getEntries() {
return entries;
}
}
public static class ListEntry {
private String valueClass;
private List values;
public ListEntry(String valueClass,
List values) {
this.valueClass = valueClass;
this.values = values;
}
public String getValueClass() {
return valueClass;
}
public List getValues() {
return values;
}
}
public static class ManagedProperty {
private String propertyAlias;
private String propertyName;
private String propertyClass;
private String propertyValue;
private ManagedBeanInfo.MapEntry mapEntry;
private ManagedBeanInfo.ListEntry listEntry;
public ManagedProperty(String propertyName,
String propertyClass,
String propertyValue,
ManagedBeanInfo.MapEntry mapEntry,
ManagedBeanInfo.ListEntry listEntry) {
this.propertyName = propertyName;
this.propertyClass = propertyClass;
this.propertyValue = propertyValue;
this.mapEntry = mapEntry;
this.listEntry = listEntry;
}
public ManagedProperty(String propertyAlias,
String propertyName,
String propertyClass,
String propertyValue,
ManagedBeanInfo.MapEntry mapEntry,
ManagedBeanInfo.ListEntry listEntry) {
this(propertyName, propertyClass, propertyValue, mapEntry, listEntry);
this.propertyAlias = propertyAlias;
}
public String getPropertyAlias() {
return propertyAlias;
}
public String getPropertyName() {
return propertyName;
}
public String getPropertyClass() {
return propertyClass;
}
public boolean hasPropertyValue() {
return (propertyValue != null);
}
public String getPropertyValue() {
return propertyValue;
}
public boolean hasMapEntry() {
return (mapEntry != null);
}
public ManagedBeanInfo.MapEntry getMapEntry() {
return mapEntry;
}
public boolean hasListEntry() {
return (listEntry != null);
}
public ManagedBeanInfo.ListEntry getListEntry() {
return listEntry;
}
}
}