All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cedarsoft.spring.rcp.tbpanel.aspects.DefaultEditor Maven / Gradle / Ivy

package com.cedarsoft.spring.rcp.tbpanel.aspects;

import org.jetbrains.annotations.NotNull;
import com.cedarsoft.history.ObservableObjectAccess;
import com.cedarsoft.spring.rcp.beans.BeanAgent;
import com.cedarsoft.lookup.Lookups;

import javax.swing.JComponent;

/**
 * Default editor
 *
 * @param  the type
 */
public class DefaultEditor implements EditableAspect.Editor {
  @NotNull
  private final ObservableObjectAccess objectAccess;
  @NotNull
  private final JComponent parent;
  @NotNull
  private final BeanAgent agent;

  /**
   * Creates a new default editor
   *
   * @param agent        the agent
   * @param objectAccess the object access
   * @param parent        the panel
   */
  public DefaultEditor( @NotNull BeanAgent agent, @NotNull ObservableObjectAccess objectAccess, @NotNull JComponent parent ) {
    this.objectAccess = objectAccess;
    this.parent = parent;
    this.agent = agent;
  }

  @Override
  public void editEntry( @NotNull T selectedObject ) {
    agent.edit( objectAccess, selectedObject, Lookups.dynamicLookup( parent ) );
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy