/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package op.system; import entity.system.SYSGROUPS2ACL; import java.util.ArrayList; import java.util.List; /** * Diese Klasse dient dazu, die Beschreibungen von Modulen, sowie die Informationen über * erlaubte ACLs aus der appinfo.properties einzulesen und innerhalb des Systems während * der Laufzeit zum vereinbarten Zugriff bereit zu halten. * * @author tloehr */ public class InternalClass implements Comparable<InternalClass> { private String internalClassID; private String shortDescription; private String longDescription; private String javaclass; private String helpurl; private boolean mainClass; private String iconname; // Enthält die möglichen acls für diese Klasse // inklusive der Beschreibungen (wenn vorhanden). private List<InternalClassACL> acls; private SYSGROUPS2ACL intClass; public InternalClass(String internalClassID, String shortDescription, String longDescription, boolean mainClass, String javaclass, String iconname, String helpurl) { this.internalClassID = internalClassID; this.shortDescription = shortDescription; this.longDescription = longDescription; this.mainClass = mainClass; this.javaclass = javaclass; this.helpurl = helpurl; acls = new ArrayList(); this.intClass = null; this.iconname = iconname; } public SYSGROUPS2ACL getIntClass() { return intClass; } public void setIntClass(SYSGROUPS2ACL intClass) { this.intClass = intClass; } public boolean hasIntClass() { return this.intClass != null; } public String getIconname() { return iconname; } public void setIconname(String iconname) { this.iconname = iconname; } /** * Get the value of longDescription * * @return the value of longDescription */ public String getLongDescription() { return longDescription; } /** * Eine Hashmap, die alle bekannten ACLs samt einer Beschreibung enthält. * * @return */ public List<InternalClassACL> getPossibleACLs() { return acls; } /** * Get the value of shortDescription * * @return the value of shortDescription */ public String getShortDescription() { return shortDescription; } public String getHelpurl() { return helpurl; } public String getInternalClassID() { return internalClassID; } /** * String Bezeichnung, anhand der sich diese Klasse mittels der Reflection API laden lässt. * @return */ public String getJavaclass() { return javaclass; } /** * Kann diese Klasse direkt als eingenständiges Modul aufegrufen werden ? * @return */ public boolean isMainClass() { return mainClass; } @Override public String toString() { return shortDescription; } @Override public int compareTo(InternalClass o) { return shortDescription.compareTo(o.getShortDescription()); } }