KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > schemas > view > views > SchemasViewLabelProvider


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20
21 package org.apache.directory.ldapstudio.schemas.view.views;
22
23
24 import org.apache.directory.ldapstudio.schemas.Activator;
25 import org.apache.directory.ldapstudio.schemas.PluginConstants;
26 import org.apache.directory.ldapstudio.schemas.view.ViewUtils;
27 import org.apache.directory.ldapstudio.schemas.view.views.wrappers.AttributeTypeWrapper;
28 import org.apache.directory.ldapstudio.schemas.view.views.wrappers.ITreeNode;
29 import org.apache.directory.ldapstudio.schemas.view.views.wrappers.ObjectClassWrapper;
30 import org.apache.directory.ldapstudio.schemas.view.views.wrappers.SchemaWrapper;
31 import org.eclipse.jface.preference.IPreferenceStore;
32 import org.eclipse.jface.viewers.LabelProvider;
33 import org.eclipse.swt.graphics.Image;
34 import org.eclipse.ui.ISharedImages;
35 import org.eclipse.ui.PlatformUI;
36
37
38 /**
39  * This class implements the LabelProvider for the Schemas View.
40  *
41  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
42  * @version $Rev$, $Date$
43  */

44 public class SchemasViewLabelProvider extends LabelProvider
45 {
46     /** The preferences store */
47     private IPreferenceStore store;
48
49
50     /**
51      * Creates a new instance of SchemasViewLabelProvider.
52      */

53     public SchemasViewLabelProvider()
54     {
55         store = Activator.getDefault().getPreferenceStore();
56     }
57
58
59     /* (non-Javadoc)
60      * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
61      */

62     public String JavaDoc getText( Object JavaDoc obj )
63     {
64         String JavaDoc label = ""; //$NON-NLS-1$
65

66         int labelValue = store.getInt( PluginConstants.PREFS_SCHEMAS_VIEW_LABEL );
67         boolean abbreviate = store.getBoolean( PluginConstants.PREFS_SCHEMAS_VIEW_ABBREVIATE );
68         int abbreviateMaxLength = store.getInt( PluginConstants.PREFS_SCHEMAS_VIEW_ABBREVIATE_MAX_LENGTH );
69
70         if ( obj instanceof AttributeTypeWrapper )
71         {
72             if ( labelValue == PluginConstants.PREFS_SCHEMAS_VIEW_LABEL_FIRST_NAME )
73             {
74                 label = ( ( AttributeTypeWrapper ) obj ).getMyAttributeType().getNames()[0];
75             }
76             else if ( labelValue == PluginConstants.PREFS_SCHEMAS_VIEW_LABEL_ALL_ALIASES )
77             {
78                 label = ViewUtils.concateAliases( ( ( AttributeTypeWrapper ) obj ).getMyAttributeType().getNames() );
79             }
80             else if ( labelValue == PluginConstants.PREFS_SCHEMAS_VIEW_LABEL_OID )
81             {
82                 label = ( ( AttributeTypeWrapper ) obj ).getMyAttributeType().getOid();
83             }
84             else
85             // Default
86
{
87                 label = ( ( AttributeTypeWrapper ) obj ).getMyAttributeType().getNames()[0];
88             }
89         }
90         else if ( obj instanceof ObjectClassWrapper )
91         {
92             if ( labelValue == PluginConstants.PREFS_SCHEMAS_VIEW_LABEL_FIRST_NAME )
93             {
94                 label = ( ( ObjectClassWrapper ) obj ).getMyObjectClass().getNames()[0];
95             }
96             else if ( labelValue == PluginConstants.PREFS_SCHEMAS_VIEW_LABEL_ALL_ALIASES )
97             {
98                 label = ViewUtils.concateAliases( ( ( ObjectClassWrapper ) obj ).getMyObjectClass().getNames() );
99             }
100             else if ( labelValue == PluginConstants.PREFS_SCHEMAS_VIEW_LABEL_OID )
101             {
102                 label = ( ( ObjectClassWrapper ) obj ).getMyObjectClass().getOid();
103             }
104             else
105             // Default
106
{
107                 label = ( ( ObjectClassWrapper ) obj ).getMyObjectClass().getNames()[0];
108             }
109         }
110         else if ( obj instanceof SchemaWrapper )
111         {
112             label = ( ( SchemaWrapper ) obj ).getMySchema().getName();
113         }
114         else
115         // Default
116
{
117             label = obj.toString();
118         }
119
120         if ( abbreviate && ( abbreviateMaxLength < label.length() )
121             && ( ( obj instanceof ObjectClassWrapper ) || ( obj instanceof AttributeTypeWrapper ) ) )
122         {
123             label = label.substring( 0, abbreviateMaxLength ) + "..."; //$NON-NLS-1$
124
}
125
126         return label;
127     }
128
129
130     /* (non-Javadoc)
131      * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
132      */

133     public Image getImage( Object JavaDoc obj )
134     {
135         if ( obj instanceof ITreeNode )
136         {
137             return ( ( ITreeNode ) obj ).getImage();
138         }
139
140         // Default
141
return PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_OBJS_WARN_TSK );
142     }
143 }
144
Popular Tags