All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.jaxb.javamodel.oxm.OXMJavaFieldImpl Maven / Gradle / Ivy

There is a newer version: 4.0.2
Show newest version
/*
 * 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(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy