org.eclipse.persistence.jaxb.javamodel.oxm.OXMJavaFieldImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction f2b9fc5
/*
* Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Rick Barkhouse - 2.2 - initial implementation
package org.eclipse.persistence.jaxb.javamodel.oxm;
import java.lang.reflect.Modifier;
import java.util.Collection;
import org.eclipse.persistence.jaxb.javamodel.JavaAnnotation;
import org.eclipse.persistence.jaxb.javamodel.JavaClass;
import org.eclipse.persistence.jaxb.javamodel.JavaField;
/**
* INTERNAL:
*
* Purpose: JavaField
implementation used when bootstrapping
* a DynamicJAXBContext
from XML Bindings.
*
*
*
* Responsibilities:
*
*
* - Provide Field information to the
JavaModel
.
*
*
* @since EclipseLink 2.2
*
* @see org.eclipse.persistence.jaxb.javamodel.JavaField
*/
public class OXMJavaFieldImpl implements JavaField {
private String fieldName;
private String fieldTypeName;
private JavaClass owningClass;
/**
* Construct a new instance of OXMJavaFieldImpl
.
*
* @param aFieldName - this fields's name
* @param aFieldTypeName - this field's type as a String
.
* @param owner - the JavaClass
this field belongs to.
*/
public OXMJavaFieldImpl(String aFieldName, String aFieldTypeName, JavaClass owner) {
this.fieldName = aFieldName;
this.fieldTypeName = aFieldTypeName;
this.owningClass = owner;
}
public JavaAnnotation getAnnotation(JavaClass aClass) {
return null;
}
public Collection getAnnotations() {
return null;
}
public int getModifiers() {
return Modifier.PUBLIC;
}
public String getName() {
return this.fieldName;
}
public JavaClass getOwningClass() {
return this.owningClass;
}
public JavaClass getResolvedType() {
return ((OXMJavaClassImpl) this.owningClass).getJavaModel().getClass(this.fieldTypeName);
}
public boolean isFinal() {
return Modifier.isFinal(getModifiers());
}
public boolean isAbstract() {
return Modifier.isAbstract(getModifiers());
}
public boolean isPrivate() {
return Modifier.isPrivate(getModifiers());
}
public boolean isProtected() {
return Modifier.isProtected(getModifiers());
}
public boolean isPublic() {
return Modifier.isPublic(getModifiers());
}
public boolean isStatic() {
return Modifier.isStatic(getModifiers());
}
/**
* Not supported.
*/
public boolean isSynthetic() {
throw new UnsupportedOperationException("isSynthetic");
}
public boolean isEnumConstant() {
return getOwningClass().isEnum();
}
public JavaAnnotation getDeclaredAnnotation(JavaClass aClass) {
return getAnnotation(aClass);
}
public Collection getDeclaredAnnotations() {
return getAnnotations();
}
}