下面列出了怎么用java.util.Observer的API类实例代码及写法,或者点击链接到github查看源代码。
@Before
public void setUp() {
projectMock = Mockito.mock(Project.class);
gitRepositoryMock = Mockito.mock(GitRepository.class);
diffProviderMock = Mockito.mock(DiffCompareInfoProvider.class);
observerMock = Mockito.mock(Observer.class);
applicationProviderMock = Mockito.mock(CreatePullRequestModel.ApplicationProvider.class);
currentBranch = PRGitObjectMockHelper.createLocalBranch("local");
tfsRemote = new GitRemote("origin", Collections.singletonList("https://mytest.visualstudio.com/DefaultCollection/_git/testrepo"),
Collections.singletonList("https://pushurl"), Collections.emptyList(), Collections.emptyList());
when(diffProviderMock.getEmptyDiff(gitRepositoryMock)).thenCallRealMethod();
when(gitRepositoryMock.getRemotes()).thenReturn(Collections.singletonList(tfsRemote));
mockGitRepoBranches(currentBranch);
}
public Sequence(Observer changer) {
super();
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
ReportingUtils.logError(e);
}
this.stepObserver = changer;
this.suckStep = new Step(0, "suck", false,false,10, Step.TimeUnit.SECS, Syringe.PERISTALTIC, 7, Step.VolumeUnit.UL, Pump.Action.Withdraw);
this.suckStep.setIsSuckStep();
add(new Step(1, "Start", true, false, 1, Step.TimeUnit.SECS, Syringe.BD50, 0.5, Step.VolumeUnit.ML,Pump.Action.Infuse));
add(new Step(2, "Middle", true, false,1, Step.TimeUnit.SECS, Syringe.BD10, 1, Step.VolumeUnit.ML,Pump.Action.Infuse));
add(new Step(3, "Finish", true,false,1, Step.TimeUnit.SECS, Syringe.BD1,100, Step.VolumeUnit.UL,Pump.Action.Infuse));
}
@Override
public void addObserver(Observer o)
{
//ADD OBSERVER
super.addObserver(o);
//NOTIFY LIST
if(this.getObservableData().containsKey(NOTIFY_LIST))
{
//CREATE LIST
SortableList<T, U> list = new SortableList<T, U>(this);
//UPDATE
o.update(null, new ObserverMessage(this.getObservableData().get(NOTIFY_LIST), list));
}
}
public PCGenFrame(UIContext uiContext)
{
this.uiContext = Objects.requireNonNull(uiContext);
Globals.setRootFrame(this);
this.currentSourceSelection = uiContext.getCurrentSourceSelectionRef();
this.currentCharacterRef = new DefaultReferenceFacade<>();
this.currentDataSetRef = new DefaultReferenceFacade<>();
this.actionMap = new PCGenActionMap(this, uiContext);
this.characterTabs = new CharacterTabs(this);
this.statusBar = new PCGenStatusBar(this);
this.filenameListener = new FilenameListener();
Observer messageObserver = new ShowMessageGuiObserver(this);
ShowMessageDelegate.getInstance().addObserver(messageObserver);
ChooserFactory.setDelegate(this);
this.pcGenMenuBar = new PCGenMenuBar(this, uiContext);
initComponents();
pack();
initSettings();
Platform.runLater(() ->
javaFXStage = new Stage()
);
}
@Override
protected Composite doCreatePreviewPane(Composite composite, int numColumns) {
super.doCreatePreviewPane(composite, numColumns);
Composite previewLineWidthContainer= new Composite(composite, SWT.NONE);
previewLineWidthContainer.setLayout(createGridLayout(2, false));
final NumberPreference previewLineWidth= new NumberPreference(previewLineWidthContainer, 2, fPreviewPreferences, LINE_SPLIT,
0, 9999, FormatterMessages.LineWrappingTabPage_line_width_for_preview_label_text);
fDefaultFocusManager.add(previewLineWidth);
previewLineWidth.addObserver(fUpdater);
previewLineWidth.addObserver(new Observer() {
public void update(Observable o, Object arg) {
fDialogSettings.put(PREF_PREVIEW_LINE_WIDTH, fPreviewPreferences.get(LINE_SPLIT));
}
});
return composite;
}
public static void main(String[] args) {
System.err.println(
"\nTest creating proxy class with the null class loader.\n");
try {
Class p = Proxy.getProxyClass(null,
new Class[] { Runnable.class, Observer.class });
System.err.println("proxy class: " + p);
ClassLoader loader = p.getClassLoader();
System.err.println("proxy class's class loader: " + loader);
if (loader != null) {
throw new RuntimeException(
"proxy class not defined in the null class loader");
}
System.err.println("\nTEST PASSED");
} catch (Throwable e) {
System.err.println("\nTEST FAILED:");
e.printStackTrace();
throw new RuntimeException("TEST FAILED: " + e.toString());
}
}
public static void main(String[] args) {
System.err.println(
"\nTest creating proxy class with the null class loader.\n");
try {
Class p = Proxy.getProxyClass(null,
new Class[] { Runnable.class, Observer.class });
System.err.println("proxy class: " + p);
ClassLoader loader = p.getClassLoader();
System.err.println("proxy class's class loader: " + loader);
if (loader != null) {
throw new RuntimeException(
"proxy class not defined in the null class loader");
}
System.err.println("\nTEST PASSED");
} catch (Throwable e) {
System.err.println("\nTEST FAILED:");
e.printStackTrace();
throw new RuntimeException("TEST FAILED: " + e.toString());
}
}
@Test
public void can_add_a_collection() throws Exception {
HashCodeAndEqualsSafeSet mocks = HashCodeAndEqualsSafeSet.of(
mock(UnmockableHashCodeAndEquals.class),
mock(Observer.class));
HashCodeAndEqualsSafeSet workingSet = new HashCodeAndEqualsSafeSet();
workingSet.addAll(mocks);
assertThat(workingSet.containsAll(mocks)).isTrue();
}
public <T,ID> Dao<T, ID> createTable(Class<T> c, Observer observer) throws Exception
{
addObserver(observer);
TableUtils.createTableIfNotExists(source, c);
Dao<T, ID> dao = DaoManager.createDao(source, c);
return dao;
}
private void internalRegisterSlavePreference(final CheckboxPreference master, final ButtonPreference[] slaves) {
master.addObserver( new Observer() {
public void update(Observable o, Object arg) {
for (int i= 0; i < slaves.length; i++) {
slaves[i].setEnabled(master.getChecked());
}
}
});
for (int i= 0; i < slaves.length; i++) {
slaves[i].setEnabled(master.getChecked());
}
}
@Test
public void testInterface() {
Class observerClass = (Class) importer.types().named(Observer.class.getName());
assertTrue(observerClass.getIsInterface());
assertTrue(observerClass.getIsStub());
assertEquals(observerClass.getContainer(),
importer.namespaces().named(Observer.class.getPackage().getName()));
}
/**
* constructor
* @param first - first npc (who strarting conversation)
* @param second - second npc
* @param conversations
* @param explainations
* @param n - observer n
*/
public NPCChatting(
SpeakerNPC first,
SpeakerNPC second,
List<String> conversations,
String explainations,
Observer n) {
this.first=first;
this.second=second;
this.conversations=conversations;
this.explainations=explainations;
this.next=n;
}
@Override
public void addObserver(Observer o)
{
super.addObserver(o);
//SEND CONNECTEDPEERS ON REGISTER
o.update(this, new ObserverMessage(ObserverMessage.LIST_PEER_TYPE, this.connectedPeers));
}
/**
* constructor
*
* @param entity - pathnotifier owner
* @param rt route
* @param o Observer
*/
public MultiZonesFixedPath(final GuidedEntity entity, final List<RPZonePath> rt,
final Observer o) {
ent = entity;
count = -1;
route = rt;
finishnotifier.setObserver(o);
}
private void buildSecretRoomArea(final StendhalRPZone zone) {
Observer observer = new DrowObserver();
for(CreatureRespawnPoint p:zone.getRespawnPointList()) {
if(p!=null) {
if(creatures.indexOf(p.getPrototypeCreature().getName())!=-1) {
// it is our creature, will add observer now
p.addObserver(observer);
}
}
}
}
public void init() {
// register a single observer for the EB system (switched from local observer)
eventTrackingService.addObserver(new Observer() {
public void update(Observable o, Object arg) {
if (arg instanceof Event) {
Event event = (Event) arg;
handleEvent(event);
}
}
});
}
@Override
public void addObserver(Observer o)
{
//ADD OBSERVER TO SYNCHRONIZER
//this.synchronizer.addObserver(o);
DBSet.getInstance().getBlockMap().addObserver(o);
//ADD OBSERVER TO BLOCKGENERATOR
//this.blockGenerator.addObserver(o);
DBSet.getInstance().getTransactionMap().addObserver(o);
//ADD OBSERVER TO NAMESALES
DBSet.getInstance().getNameExchangeMap().addObserver(o);
//ADD OBSERVER TO POLLS
DBSet.getInstance().getPollMap().addObserver(o);
//ADD OBSERVER TO ASSETS
DBSet.getInstance().getAssetMap().addObserver(o);
//ADD OBSERVER TO ORDERS
DBSet.getInstance().getOrderMap().addObserver(o);
//ADD OBSERVER TO TRADES
DBSet.getInstance().getTradeMap().addObserver(o);
//ADD OBSERVER TO BALANCES
DBSet.getInstance().getBalanceMap().addObserver(o);
//ADD OBSERVER TO CONTROLLER
super.addObserver(o);
o.update(this, new ObserverMessage(ObserverMessage.NETWORK_STATUS, this.status));
}
/**
* Delete an observer of events.
*
* @param observer
* The class observing to delete.
*/
public void deleteObserver(Observer observer)
{
m_observableHelper.deleteObserver(observer);
m_priorityObservableHelper.deleteObserver(observer);
m_localObservableHelper.deleteObserver(observer);
}
@Test
public void should_fail_if_an_argument_instance_type_do_not_match_wanted_type() throws Exception {
Observer observer = mock(Observer.class);
Set wrongArg = mock(Set.class);
given(resolver.resolveTypeInstances(Matchers.<Class<?>[]>anyVararg())).willReturn(new Object[]{ observer, wrongArg });
try {
new ParameterizedConstructorInstantiator(this, field("withMultipleConstructor"), resolver).instantiate();
fail();
} catch (MockitoException e) {
assertThat(e.getMessage()).contains("argResolver").contains("incorrect types");
}
}
protected void registerPreference(final CheckboxPreference preference) {
fCount++;
preference.addObserver(new Observer() {
public void update(Observable o, Object arg) {
if (preference.getChecked()) {
setSelectedCleanUpCount(fSelectedCount + 1);
} else {
setSelectedCleanUpCount(fSelectedCount - 1);
}
}
});
if (preference.getChecked()) {
setSelectedCleanUpCount(fSelectedCount + 1);
}
}
@Override
public void getView(ViewPanel view) {
view.pushStack("Mo","Model");
// TODO FileNameExtensionFilter is Swing specific and should not happen here.
ArrayList<FileFilter> filters = new ArrayList<FileFilter>();
ServiceLoader<ModelLoadAndSave> loaders = ServiceLoader.load(ModelLoadAndSave.class);
Iterator<ModelLoadAndSave> i = loaders.iterator();
while(i.hasNext()) {
ModelLoadAndSave loader = i.next();
filters.add( new FileNameExtensionFilter(loader.getEnglishName(), loader.getValidExtensions()) );
}
view.addFilename(filename,filters);
view.add(rotationAdjust);
view.add(originAdjust);
view.add(scale);
Model m = this.model;
if(m!=null) {
view.add(numTriangles);
view.add(hasNormals);
view.add(hasColors);
view.add(hasUVs);
}
ViewElementButton reloadButton = view.addButton("Reload");
reloadButton.addObserver(new Observer() {
@Override
public void update(Observable o, Object arg) {
reload();
}
});
view.popStack();
material.getView(view);
super.getView(view);
}
/**
* prepare NPC to walk through his multizone path.
*/
private void leadNPC() {
final StendhalRPZone zone = fullpath.get(0).get(0).get().first();
final int x=fullpath.get(0).get(0).getPath().get(0).getX();
final int y=fullpath.get(0).get(0).getPath().get(0).getY();
piedpiper.setPosition(x, y);
zone.add(piedpiper);
Observer o = new MultiZonesFixedPathsList(
piedpiper,
fullpath,
new AttractRat(),
new RoadsEnd(
new PhaseSwitcher(this)));
o.update(null, null);
}
/**
* Allows another module to put an observer into the current module.
*
* @param o - the observer to be added
*/
public void addObserver(Observer o) {
observable.addObserver(o);
// notify to remove the gui key event dispatcher
observable.notifyObservers(ObservedActions.Action.REMOVE_GUI_KEY_EVENT_DISPATCHER);
}
public void addPriorityObserver(Observer observer)
{
// TODO Auto-generated method stub
}
public void registerCommanderObserver(Observer o) {
commander.addObserver(o);
}
public void addListeners(Observer o) {
obList.add(o);
}
public void addLoginObserver(Observer observer) {
loginObservables.addObserver(observer);
}
@Override
public void addObserver(Observer observer) {
super.addObserver(observer);
listenPorts.addObserver(observer);
}
@Override
public void addObserver(Observer observer) {
super.addObserver(observer);
servers.addObserver(observer);
}
public void removeCountsObserver(Observer observer) {
countsObservables.deleteObserver(observer);
}