/* * Copyright 2008 CoreMedia AG * * Licensed 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 net.jangaroo.joodoc; import net.jangaroo.jooc.NodeImplBase; import net.jangaroo.jooc.TypeRelation; import net.jangaroo.jooc.MemberDeclaration; import com.sun.javadoc.ClassDoc; import com.sun.javadoc.PackageDoc; import com.sun.javadoc.Type; import com.sun.javadoc.MemberDoc; import com.sun.javadoc.AnnotationDesc; import java.lang.reflect.Modifier; public class MemberDocImpl extends DocImpl implements MemberDoc { public MemberDocImpl(NodeImplBase node) { super(node); } public int modifierSpecifier() { int modifier = -1; if (isPublic()) modifier = Modifier.PUBLIC; else if (isProtected()) modifier=Modifier.PROTECTED; else if (isPrivate()) modifier=Modifier.PRIVATE; if (isStatic()) modifier |= Modifier.STATIC; if (isAbstract()) modifier |= Modifier.ABSTRACT; return modifier; } protected MemberDeclaration getMemberDeclaration() { return ((MemberDeclaration)declaration); } public boolean isFinal() { return getMemberDeclaration().isFinal(); } public boolean isPackagePrivate() { return !isProtected() && !isPublic() && !isPrivate(); } public boolean isPrivate() { return getMemberDeclaration().isPrivate(); } public boolean isProtected() { return getMemberDeclaration().isProtected(); } public boolean isPublic() { return getMemberDeclaration().isPublic(); } public boolean isStatic() { return getMemberDeclaration().isStatic(); } public boolean isAbstract() { return false; } public ClassDoc containingClass() { return (ClassDoc) DocMap.getDoc(getMemberDeclaration().getClassDeclaration()); } public PackageDoc containingPackage() { return (PackageDoc) DocMap.getDoc(getMemberDeclaration().getClassDeclaration().getPackageDeclaration()); } public String modifiers() { return (isPublic()?"public ":"")+ (isStatic()?"static ":"")+ (isFinal()?"final ":"")+ (isAbstract()?"abstract ":"") ; } public String qualifiedName() { String[] qual=getMemberDeclaration().getQualifiedName(); return Util.getQualifiedName(qual); } public String name() { return getMemberDeclaration().getName(); } public boolean isIncluded() { return isPublic() || isProtected(); } public Type getType() { TypeRelation optTypeRelation = getMemberDeclaration().getOptTypeRelation(); if (optTypeRelation!=null) return (Type) (DocMap.getDoc(optTypeRelation.getType())); return TypeImpl.ANY; } public boolean isSynthetic() { return false; } public AnnotationDesc[] annotations() { return new AnnotationDesc[0]; //To change body of implemented methods use File | Settings | File Templates. } }