@Override public int getModifiers() { return classInfo.flags(); }
public static boolean isAnnotation(ClassInfo clazz) { return (clazz.flags() & ANNOTATION) != 0; }
private void getAllAsyncListenerClasses(CompositeIndex index, Set<String> classes) { if (index != null) { Set<ClassInfo> classInfos = index.getAllKnownImplementors(ASYNC_LISTENER_INTERFACE); for (ClassInfo classInfo : classInfos) { if(!Modifier.isAbstract(classInfo.flags()) && !Modifier.isInterface(classInfo.flags())) { classes.add(classInfo.name().toString()); } } } } }
@Override public ClassFileInfo.NestingType getNestingType() { NestingType result = null; switch (classInfo.nestingType()) { case ANONYMOUS: result = NestingType.NESTED_ANONYMOUS; break; case TOP_LEVEL: result = NestingType.TOP_LEVEL; break; case LOCAL: result = NestingType.NESTED_LOCAL; break; case INNER: if (Modifier.isStatic(classInfo.flags())) { result = NestingType.NESTED_STATIC; } else { result = NestingType.NESTED_INNER; } break; default: // should never happer break; } return result; }
/** * Returns true if the passed <code>sessionBeanClass</code> meets the requirements set by the EJB3 spec about * bean implementation classes. The passed <code>sessionBeanClass</code> must not be an interface and must be public * and not final and not abstract. If it passes these requirements then this method returns true. Else it returns false. * * @param sessionBeanClass The session bean class * @return */ private static boolean assertSessionBeanClassValidity(final ClassInfo sessionBeanClass) { final short flags = sessionBeanClass.flags(); final String className = sessionBeanClass.name().toString(); // must *not* be an interface if (Modifier.isInterface(flags)) { EjbLogger.DEPLOYMENT_LOGGER.sessionBeanClassCannotBeAnInterface(className); return false; } // bean class must be public, must *not* be abstract or final if (!Modifier.isPublic(flags) || Modifier.isAbstract(flags) || Modifier.isFinal(flags)) { EjbLogger.DEPLOYMENT_LOGGER.sessionBeanClassMustBePublicNonAbstractNonFinal(className); return false; } // valid class return true; }
/** * Returns true if the passed <code>managedBeanClass</code> meets the requirements set by the Managed bean spec about * bean implementation classes. The passed <code>managedBeanClass</code> must not be an interface and must not be final or abstract. * If it passes these requirements then this method returns true. Else it returns false. * * @param managedBeanClass The session bean class * @return */ private static boolean assertManagedBeanClassValidity(final ClassInfo managedBeanClass) { final short flags = managedBeanClass.flags(); final String className = managedBeanClass.name().toString(); // must *not* be an interface if (Modifier.isInterface(flags)) { ROOT_LOGGER.invalidManagedBeanInterface("MB.2.1.1", className); return false; } // bean class must *not* be abstract or final if (Modifier.isAbstract(flags) || Modifier.isFinal(flags)) { ROOT_LOGGER.invalidManagedBeanAbstractOrFinal("MB.2.1.1", className); return false; } // valid class return true; } }
/** * Returns true if the passed <code>mdbClass</code> meets the requirements set by the EJB3 spec about bean implementation * classes. The passed <code>mdbClass</code> must not be an interface and must be public and not final and not abstract. If * it passes these requirements then this method returns true. Else it returns false. * * @param mdbClass The MDB class * @return * @throws DeploymentUnitProcessingException */ public static Collection<MdbValidityStatus> assertEjbClassValidity(final ClassInfo mdbClass) throws DeploymentUnitProcessingException { Collection<MdbValidityStatus> mdbComplianceIssueList = new ArrayList<>(MdbValidityStatus.values().length); final String className = mdbClass.name().toString(); verifyModifiers(className, mdbClass.flags(), mdbComplianceIssueList); for (MethodInfo method : mdbClass.methods()) { if ("onMessage".equals(method.name())) { verifyOnMessageMethod(className, method.flags(), mdbComplianceIssueList); } if ("finalize".equals(method.name())) { EjbLogger.DEPLOYMENT_LOGGER.mdbCantHaveFinalizeMethod(className); mdbComplianceIssueList.add(MdbValidityStatus.MDB_SHOULD_NOT_HAVE_FINALIZE_METHOD); } } return mdbComplianceIssueList; }
@Override public int getModifiers() { return classInfo.flags(); }
@Override public int getModifiers() { return classInfo.flags(); }
@Override public int getModifiers() { return classInfo.flags(); }
@Override public int getModifiers() { return classInfo.flags(); }
/** * @param methodReference * @param ci * @param i * @return */ private static boolean isUsableMethod ( MethodReference methodReference, ClassInfo ci, Index i ) { return !Modifier.isInterface(ci.flags()) && TypeUtil.implementsMethodRecursive(i, methodReference, ci) && ( methodReference.isStatic() || !Modifier.isAbstract(ci.flags()) ); }
public static boolean isJaxwsEndpointInterface(final ClassInfo clazz) { final short flags = clazz.flags(); if (!Modifier.isInterface(flags)) return false; if (!Modifier.isPublic(flags)) return false; return clazz.annotations().containsKey(WEB_SERVICE_ANNOTATION); }
public static boolean isJaxwsEndpointInterface(final ClassInfo clazz) { final short flags = clazz.flags(); if (!Modifier.isInterface(flags)) return false; if (!Modifier.isPublic(flags)) return false; return clazz.annotations().containsKey(WEB_SERVICE_ANNOTATION); }
@Override public boolean isEnum() { return Flags.isEnum(info.flags()); }
private void getAllAsyncListenerClasses(CompositeIndex index, Set<String> classes) { if (index != null) { Set<ClassInfo> classInfos = index.getAllKnownImplementors(ASYNC_LISTENER_INTERFACE); for (ClassInfo classInfo : classInfos) { if(!Modifier.isAbstract(classInfo.flags()) && !Modifier.isInterface(classInfo.flags())) { classes.add(classInfo.name().toString()); } } } } }
private void getAllAsyncListenerClasses(CompositeIndex index, Set<String> classes) { if (index != null) { Set<ClassInfo> classInfos = index.getAllKnownImplementors(ASYNC_LISTENER_INTERFACE); for (ClassInfo classInfo : classInfos) { if(!Modifier.isAbstract(classInfo.flags()) && !Modifier.isInterface(classInfo.flags())) { classes.add(classInfo.name().toString()); } } } } }
private static boolean isJaxwsEndpoint(final ClassInfo clazz, final Index index) { // assert JAXWS endpoint class flags final short flags = clazz.flags(); if (Modifier.isInterface(flags)) return false; if (Modifier.isAbstract(flags)) return false; if (!Modifier.isPublic(flags)) return false; if (isJaxwsService(clazz, index)) return false; if (Modifier.isFinal(flags)) return false; final boolean isWebService = clazz.annotations().containsKey(WEB_SERVICE_ANNOTATION); final boolean isWebServiceProvider = clazz.annotations().containsKey(WEB_SERVICE_PROVIDER_ANNOTATION); return isWebService || isWebServiceProvider; }
private static boolean isJaxwsEndpoint(final ClassInfo clazz, final Index index) { // assert JAXWS endpoint class flags final short flags = clazz.flags(); if (Modifier.isInterface(flags)) return false; if (Modifier.isAbstract(flags)) return false; if (!Modifier.isPublic(flags)) return false; if (isJaxwsService(clazz, index)) return false; if (Modifier.isFinal(flags)) return false; final boolean isWebService = clazz.annotations().containsKey(WEB_SERVICE_ANNOTATION); final boolean isWebServiceProvider = clazz.annotations().containsKey(WEB_SERVICE_PROVIDER_ANNOTATION); return isWebService || isWebServiceProvider; } }
private static boolean isJaxwsEndpoint(final ClassInfo clazz, final Index index) { // assert JAXWS endpoint class flags final short flags = clazz.flags(); if (Modifier.isInterface(flags)) return false; if (Modifier.isAbstract(flags)) return false; if (!Modifier.isPublic(flags)) return false; if (isJaxwsService(clazz, index)) return false; if (Modifier.isFinal(flags)) return false; final boolean isWebService = clazz.annotations().containsKey(WEB_SERVICE_ANNOTATION); final boolean isWebServiceProvider = clazz.annotations().containsKey(WEB_SERVICE_PROVIDER_ANNOTATION); return isWebService || isWebServiceProvider; } }