/** Basically some hacks to acquire the underlying property descriptor in
* the case of a wrapper. This is here because some property editors will
* cast the result of PropertyEnv.getFeatureDescriptor() as a specific
* implementation type, so even if we're wrapping a property model, we
* still need to make sure we're returning the class they expect. */
static final FeatureDescriptor findFeatureDescriptor(PropertyDisplayer pd) {
if (pd instanceof EditorPropertyDisplayer) {
//Issue 38004, more gunk to ensure we get the right feature
//descriptor
EditorPropertyDisplayer epd = (EditorPropertyDisplayer) pd;
if (epd.modelRef != null) {
PropertyModel pm = epd.modelRef.get();
if (pm instanceof ExPropertyModel) {
FeatureDescriptor fd = ((ExPropertyModel) pm).getFeatureDescriptor();
if (fd != null) {
return fd;
}
}
}
}
Property p = pd.getProperty();
if (p instanceof ModelProperty) {
return ((ModelProperty) p).getFeatureDescriptor();
} else if (p instanceof ModelProperty.DPMWrapper) {
return ((ModelProperty.DPMWrapper) p).getFeatureDescriptor();
} else {
return p;
}
}
java类java.beans.FeatureDescriptor的实例源码
EditorPropertyDisplayer.java 文件源码
项目:incubator-netbeans
阅读 17
收藏 0
点赞 0
评论 0
ModelProperty.java 文件源码
项目:incubator-netbeans
阅读 25
收藏 0
点赞 0
评论 0
/** Used by EditablePropertyDisplayer to provide access to the real
* feature descriptor. Some property editors will cast the result of
* env.getFeatureDescriptor() as Property or PropertyDescriptor, so we
* need to return the original */
FeatureDescriptor getFeatureDescriptor() {
if (mdl instanceof ExPropertyModel) {
return ((ExPropertyModel) mdl).getFeatureDescriptor();
} else {
return this;
}
}
PropertyPanel.java 文件源码
项目:incubator-netbeans
阅读 25
收藏 0
点赞 0
评论 0
public String getAccessibleName() {
String name = super.getAccessibleName();
if ((name == null) && model instanceof ExPropertyModel) {
FeatureDescriptor fd = ((ExPropertyModel) model).getFeatureDescriptor();
name = NbBundle.getMessage(PropertyPanel.class, "ACS_PropertyPanel", fd.getDisplayName()); //NOI18N
}
return name;
}
PropertyPanel.java 文件源码
项目:incubator-netbeans
阅读 28
收藏 0
点赞 0
评论 0
public String getAccessibleDescription() {
String description = super.getAccessibleDescription();
if ((description == null) && model instanceof ExPropertyModel) {
FeatureDescriptor fd = ((ExPropertyModel) model).getFeatureDescriptor();
description = NbBundle.getMessage(PropertyPanel.class, "ACSD_PropertyPanel", fd.getShortDescription()); //NOI18N
}
return description;
}
PropertyEnv.java 文件源码
项目:incubator-netbeans
阅读 20
收藏 0
点赞 0
评论 0
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getName());
sb.append("@"); //NOI18N
sb.append(System.identityHashCode(this));
sb.append("[state="); //NOI18N
sb.append(
(state == STATE_NEEDS_VALIDATION) ? "STATE_NEEDS_VALIDATION"
: ((state == STATE_INVALID) ? "STATE_INVALID" : "STATE_VALID")
); //NOI18N
sb.append(", "); //NOI18N
Factory f = factory;
if (f != null) {
sb.append("InplaceEditorFactory=").append(f.getClass().getName()); //NOI18N
sb.append(", "); //NOI18N
}
sb.append("editable="); //NOI18N
sb.append(editable);
sb.append(", isChangeImmediate="); //NOI18N
sb.append(isChangeImmediate());
sb.append(", featureDescriptor="); //NOI18N
final FeatureDescriptor fd = getFeatureDescriptor();
if (fd != null) {
sb.append(fd.getDisplayName());
} else {
sb.append("null"); // NOI18N
}
return sb.toString();
}
GlobalContextImplTest.java 文件源码
项目:incubator-netbeans
阅读 30
收藏 0
点赞 0
评论 0
public void testCurrentNodes () throws Exception {
tc.setActivatedNodes(new Node[] {Node.EMPTY});
assertEquals ("This fires change", 1, cnt);
assertEquals ("One item in result", 1, result.allItems ().size ());
Lookup.Item item = (Lookup.Item)result.allItems ().iterator ().next ();
assertEquals ("Item should return Node.EMPTY", Node.EMPTY, item.getInstance());
assertActionMap ();
tc.setActivatedNodes (null);
assertEquals ("One change", 2, cnt);
assertEquals ("One empty item in result", 1, result.allItems ().size ());
item = (Lookup.Item)result.allItems ().iterator ().next ();
assertEquals ("Item should return null", null, item.getInstance());
assertEquals ("Name is null", "none", item.getId ());
assertActionMap ();
Result<MyNode> subclass = lookup.lookup (new Lookup.Template<MyNode> (MyNode.class));
assertTrue("No items are returned", subclass.allItems().isEmpty());
Result<FeatureDescriptor> superclass = lookup.lookup (new Lookup.Template<FeatureDescriptor>(FeatureDescriptor.class));
assertEquals("One item is returned", 1, superclass.allItems().size());
item = (Lookup.Item)superclass.allItems ().iterator ().next ();
assertEquals ("Item should return null", null, item.getInstance());
tc.setActivatedNodes (new Node[0]);
assertEquals ("No change", 3, cnt);
assertEquals ("No items in lookup", 0, result.allItems ().size ());
assertActionMap ();
}
PropertiesEditor.java 文件源码
项目:incubator-netbeans
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void attachEnv(PropertyEnv env) {
FeatureDescriptor d = env.getFeatureDescriptor();
if (d instanceof Node.Property) {
canWrite = ((Node.Property) d).canWrite();
}
}
NullStringEditor.java 文件源码
项目:incubator-netbeans
阅读 19
收藏 0
点赞 0
评论 0
/**
*/
public void attachEnv (PropertyEnv env) {
FeatureDescriptor desc = env.getFeatureDescriptor();
if (desc instanceof Node.Property){
Node.Property prop = (Node.Property)desc;
editable = prop.canWrite();
}
}
HelpStringCustomEditor.java 文件源码
项目:incubator-netbeans
阅读 17
收藏 0
点赞 0
评论 0
public void attachEnv(PropertyEnv env) {
this.env = env;
FeatureDescriptor desc = env.getFeatureDescriptor();
if (desc instanceof Node.Property){
Node.Property prop = (Node.Property)desc;
editable = prop.canWrite();
//enh 29294 - support one-line editor & suppression of custom
//editor
instructions = (String) prop.getValue ("instructions"); //NOI18N
oneline = Boolean.TRUE.equals (prop.getValue ("oneline")); //NOI18N
customEd = !Boolean.TRUE.equals (prop.getValue
("suppressCustomEditor")); //NOI18N
}
}
CompositeELResolver.java 文件源码
项目:tomcat7
阅读 16
收藏 0
点赞 0
评论 0
@Override
public FeatureDescriptor next() {
if (!hasNext())
throw new NoSuchElementException();
FeatureDescriptor result = this.next;
this.next = null;
return result;
}