public void run() { propertyValue = component.get().getComponentDescriptor().getPropertyDescriptor(propertyName).getDefaultValue(); } });
/** * Returns a property descriptor for a property. * @param propertyName the property name * @return the property descriptor */ public final PropertyDescriptor getPropertyDescriptor (String propertyName) { // HINT - optimize to HashMap for (PropertyDescriptor propertyDescriptor : getPropertyDescriptors ()) { if (propertyName.equals (propertyDescriptor.getName ())) return propertyDescriptor; } return null; }
@Override protected void gatherPresenters (ArrayList<Presenter> presenters) { presenters.clear (); super.gatherPresenters (presenters); }
private void gatherPresenters(ArrayList<Presenter> tempPresenters, ComponentDescriptor componentDescriptor) { if (componentDescriptor == null) return; gatherPresenters(tempPresenters, componentDescriptor.getSuperDescriptor()); componentDescriptor.gatherPresenters(tempPresenters); }
private void performComponentPostInit (DesignComponent component, ComponentDescriptor descriptor) { if (descriptor == null) return; performComponentPostInit (component, descriptor.getSuperDescriptor ()); descriptor.postInitialize (component); }
static ComponentProducer createDefault (ComponentDescriptor descriptor) { PaletteDescriptor paletteDescriptor = descriptor.getPaletteDescriptor (); TypeID typeid = descriptor.getTypeDescriptor ().getThisType (); if (paletteDescriptor == null) return null; return new ComponentProducer (typeid.toString (), typeid, paletteDescriptor) { public Boolean checkValidity(DesignDocument document, boolean useCachedValue) { return true; } }; }
private static void resolveDescriptor (String projectType, HashMap<TypeID, ComponentDescriptor> allDescriptors, HashSet<TypeID> resolvingDescriptors, ComponentDescriptor descriptor) { assert Debug.isFriend (GlobalDescriptorRegistry.class) || Debug.isFriend (DescriptorRegistry.class); TypeID thisType = descriptor.getTypeDescriptor ().getThisType (); if (thisType == null) { Debug.warning ("Null TypeID", descriptor); // NOI18N if (descriptor.getPropertyDescriptors () != null) return; TypeID superType = descriptor.getTypeDescriptor ().getSuperType (); Collection<String> excludedNames = descriptor.getExcludedPropertyDescriptorNames (); List<PropertyDescriptor> declaredDescriptors = descriptor.getDeclaredPropertyDescriptors (); ArrayList<PropertyDescriptor> propertyDescriptors = new ArrayList<PropertyDescriptor> (); ComponentDescriptor superDescriptor = null; if (! superDescriptor.getTypeDescriptor ().isCanDerive ()) { Debug.warning ("Cannot derive from descriptor", superDescriptor); // NOI18N return; Collection<PropertyDescriptor> superPropertyDescriptors = superDescriptor.getPropertyDescriptors (); if (superPropertyDescriptors == null) { Debug.warning ("Missing super property descriptors - cannot resolve descriptor", descriptor); // NOI18N descriptor.setSuperComponentDescriptor (superDescriptor); descriptor.setPropertyDescriptors (null); PropertiesProcessor.postProcessDescriptor (projectType, descriptor, propertyDescriptors); descriptor.setPropertyDescriptors (propertyDescriptors);
/** * Returns a debug string. * @return the string */ @Override public final String toString () { TypeDescriptor typeDescriptor = getTypeDescriptor (); if (typeDescriptor == null) return super.toString (); return typeDescriptor.getThisType ().toString (); }
continue; TypeDescriptor typeDescriptor = descriptor.getTypeDescriptor (); if (typeDescriptor == null) { Debug.warning ("Null type descriptor", descriptor); // NOI18N descriptor.setSuperComponentDescriptor (null); descriptor.setPropertyDescriptors (null); descriptorsList.add (descriptor); tempDescriptors.put (thisType, descriptor); TypeDescriptor typeDescriptor = descriptor.getTypeDescriptor (); if (typeDescriptor.getSuperType () != null && descriptor.getSuperDescriptor () == null) { Debug.warning ("Unresolved super descriptor", descriptor); // NOI18N continue;
public Image getIcon (DesignComponent component, InfoPresenter.IconType iconType) { if (InfoPresenter.IconType.COLOR_16x16.equals (iconType)) { ComponentDescriptor descriptor = component.getComponentDescriptor (); while (descriptor != null) { Image image = MidpTypes.getRegisteredIcon (descriptor.getTypeDescriptor ().getThisType ()); if (image != null) return image; descriptor = descriptor.getSuperDescriptor (); } } return null; }
private void analyze (DefaultListModel list, DesignComponent component) { ComponentDescriptor descriptor = component.getComponentDescriptor (); if (descriptor == null) return; VersionDescriptor version = descriptor.getVersionDescriptor (); if (! version.isCompatibleWith (MidpVersionDescriptor.MIDP_1)) { reportComponent (list, component); return; } for (PropertyDescriptor property : descriptor.getPropertyDescriptors ()) { if (! property.getVersionable ().isCompatibleWith (MidpVersionable.MIDP_1)) if (! component.isDefaultValue (property.getName ())) reportComponentProperty (list, component, property.getName ()); processComponentProperty (list, component, property); } for (DesignComponent child : component.getComponents ()) analyze (list, child); }
/** * Gather presenters. Override this method when you need to excluded or filter the list of presenter created by super component descriptors. * @param presenters a list of presenters created by super component descriptors */ protected void gatherPresenters (ArrayList<Presenter> presenters) { List<? extends Presenter> array = createPresenters (); if (array != null) for (Presenter presenter : array) { if (presenter != null) presenters.add (presenter); else Debug.warning ("Null presenter", this); // NOI18N } }
private void removeReferences(DesignComponent component) { List<PropertyDescriptor> descriptors = component.getComponentDescriptor().getDeclaredPropertyDescriptors(); if (descriptors == null) { return; } for (PropertyDescriptor descriptor : descriptors) { PropertyValue value = component.readProperty(descriptor.getName()); if (value.getComponent() != null && value.getComponent() == getComponent()) { component.writeProperty(descriptor.getName(), PropertyValue.createNull()); } } } };
private void reloadCore () { // TODO - reload from project descriptor registry HashMap<TypeID, ComponentDescriptor> tempDescriptors = new HashMap<TypeID, ComponentDescriptor> (); ArrayList<ComponentProducer> tempProducers = new ArrayList<ComponentProducer> (); Collection<ComponentDescriptor> _descriptors = globalDescriptorRegistry.getComponentDescriptors (); for (ComponentDescriptor descriptor : _descriptors) tempDescriptors.put (descriptor.getTypeDescriptor ().getThisType (), descriptor); tempProducers.addAll (globalDescriptorRegistry.getComponentProducers ()); this.descriptors = tempDescriptors; this.producers = tempProducers; for (DescriptorRegistryListener _listener : listeners) { try { _listener.descriptorRegistryUpdated (); } catch (Exception e) { Exceptions.printStackTrace (e); } } }
public Image getIcon(DesignComponent component, InfoPresenter.IconType iconType) { if (InfoPresenter.IconType.COLOR_16x16.equals(iconType)) { ComponentDescriptor descriptor = component.getComponentDescriptor(); while (descriptor != null) { Image image = MidpTypes.getRegisteredIcon(descriptor.getTypeDescriptor().getThisType()); if (image != null) return image; descriptor = descriptor.getSuperDescriptor(); } } return null; } }
@Override protected void gatherPresenters (ArrayList<Presenter> presenters) { DocumentSupport.removePresentersOfClass (presenters, ScreenDisplayPresenter.class); super.gatherPresenters (presenters); }
private static TypeID getComponentTypeID(DesignComponent component, String propertyName) { return component.getComponentDescriptor().getPropertyDescriptor(propertyName).getType(); }
void dumpComponent(String indent) { assert document.getTransactionManager().isAccess(); System.out.println(indent + componentID + " : " + componentDescriptor); // NOI18N indent += " "; // NOI18N HashSet<String> undefinedProperties = new HashSet<String> (properties.keySet()); Collection<PropertyDescriptor> propertyDescriptors = componentDescriptor.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String name = property.getName(); System.out.println(indent + (properties.get(name) == defaultProperties.get(name) ? "## " : ":: ") + name + " = " + properties.get(name)); // NOI18N undefinedProperties.remove(name); } for (String name : undefinedProperties) System.out.println(indent + "?? " + name + " = " + properties.get(name)); // NOI18N for (Object presenter : presenters.lookupAll(Object.class)) System.out.println(indent + ">>" + presenter); // NOI18N for (DesignComponent child : children) child.dumpComponent(indent); }
DesignComponent(DesignDocument document, long componentID, ComponentDescriptor componentDescriptor) { assert Debug.isFriend(DesignDocument.class, "createRawComponent"); // NOI18N this.document = document; this.componentID = componentID; this.type = componentDescriptor.getTypeDescriptor().getThisType(); assert type.getKind() == TypeID.Kind.COMPONENT && type.getDimension() == 0; children = new ArrayList<DesignComponent> (); properties = new HashMap<String, PropertyValue> (); defaultProperties = new HashMap<String, PropertyValue> (); referencePropertyValue = PropertyValue.createComponentReferenceCore(this); presenters = Lookup.EMPTY; setComponentDescriptor(componentDescriptor, false); }
@Override protected void gatherPresenters (ArrayList<Presenter> presenters) { MidpActionsSupport.addCommonActionsPresenters (presenters, false, true, false, true, true); super.gatherPresenters (presenters); }