private void removeMustUnderstant(SOAPEnvelope env) { QName qName =new javax.xml.namespace.QName( "http://ey.webservices.ae/wsrv/common/types", "MessageHeader", "typ"); SOAPHeader header = env.getHeader(); OMChildrenQNameIterator childrenWithName = (OMChildrenQNameIterator) header.getChildrenWithName(qName); while (childrenWithName.hasNext()) { org.apache.axiom.om.OMElement omElement = (org.apache.axiom.om.OMElement) childrenWithName.next(); QName mustAnderstandQName = omElement.resolveQName("soapenv:mustUnderstand"); if (mustAnderstandQName == null) { continue; } OMAttribute mustAnderstandAttribute = omElement.getAttribute(mustAnderstandQName); if (mustAnderstandAttribute == null) { continue; } omElement.removeAttribute(mustAnderstandAttribute); } }
Samir Agayarov
24 Eylül 2018 Pazartesi
remove mustunderstand soap client Axis2
21 Eylül 2018 Cuma
Track all remote branches in git
for remote in `git branch -r | grep -v /HEAD`; do git checkout --track $remote ; done
9 Temmuz 2012 Pazartesi
Interface in Java
INTERFACE
public interface Heyvan {
public void ovla();
}
public abstract class Pisik implements Heyvan{
public abstract void suic();
}
public class Aslan extends Pisik{
@Override
public void suic() {
System.out.println("Aslan su icir"); }
@Override
public void ovla() {
System.out.println("Aslan ovlayir");
}
}
Gorunduyu kimi Pisik abstrakat sinifi Heyvan Interface-si daxilindeki ovla() metodunu override etmek mecburiyyetinde deyildir. Amma Aslan sinifi Pisik abstrakt sinifinin ve Heyvan interface sinin alt sinifi oldugu ucun o mecburi olaraq ovla() ve suic() metodlarini override etmelidir.
Sinif sinifden extends edildiyi kimi Interface de Interfaceden extends edillir.Javada sinif yalniz bir sinifden extends olunur.Yeni "Javada bir sinifin yalniz bir anasi ola biler" .Amma Interface ise bele deyil.
public interface InterfaceA {
public void Java();
}
public interface InterfaceB {
public void Paskal();
}
public interface InterfaceC extends InterfaceB,InterfaceA{
public void C();
}
public class Test implements InterfaceC {
@Override
public void C() {
System.out.println("C 1970 de yaranan funksional programlasdirma dilidir ");
}
@Override
public void Paskal() {
System.out.println("Paskal 1968-1971 de yaranan prosedur programlsama dilidir");
}
@Override
public void Java() {
System.out.println("Java 1990 ilde yaranan Obyekt Yonlu Programlasma(OOP) dilidir");
}
public static void main(String[] args) {
Test test=new Test();
test.Paskal();
test.C();
test.Java();
}
}
Netice:
Paskal 1968-1971 de yaranan prosedur programlsama dilidir
C 1970 de yaranan funksional programlasdirma dilidir
Java 1990 ilde yaranan Obyekt Yonlu Programlasma(OOP) dilidir
Indi ise 3 sinifi Interface-e implements edib Poliformizmden istifade ederek sade bir program yazaq:
public interface Calisan {
public void calis();
}
public class Mudur implements Calisan {
@Override
public void calis() {
System.out.println("Mudur calisir");
}
}
public class MudurMuavini implements Calisan {
@Override
public void calis() {
System.out.println("MudurMuavini calisir");
}
}
public class Programci implements Calisan {
@Override
public void calis() {
System.out.println("Programci calisir");
}
}
public class IsYeri {
public static void Isebasla(Calisan[] c) {
for (int i = 0; i < c.length; i++) {
c[i].calis();
}
}
public static void main(String[] args) {
Calisan[] c = new Calisan[3];
c[0] = new Mudur();
c[1] = new MudurMuavini();
c[2] = new Programci();
Isebasla(c);
}
}
Netice :
Mudur calisir
MudurMuavini calisir
Programci calisir
Diger programlasdirma dillerinde olan multiple inheritence xususiyyeti Java dilinde yoxdur.Bunu berpa etmek ucun Javada Interface ve daxili siniflerden (Inner classes) istifade olunur.Interface siniflerle abstrakt sinifler arasinda araliq teskil edir. Interface sinife yol gostren bir xeritedir.Interface in esas vezifesi
abstrakt siniflerde oldugu kimi birlesdirici rol oynamasidir .Abstrakt sinifler daxilinde abstrakt metodlarla yanasi
hem de
adi metodlar ola biler.Amma Interface daxilinde yalniz govdesiz metodlar yer alir.
Sinif sinifden extends olunur,Interfaceden ise implements edilir.Qeyd edek ki bir sinif bir
nece Interface-i
implements ede biler.Hemin sinif daxilinde Interface-in govdesiz metodlari mutleq override edilmelidir.Interface daxilindeki govdesiz metodlar private ola bilmez.
Interface daxilindeki govdesiz metodlar avtomatik olaraq public olurlar ve bu deyisdirile bilmez.Eyni zamanda global saheler (alanlar) de avtomatik olaraq public , static ve final xususiyyetine malik olurlar ve deyisdirile bilmez.
Qeyd edek ki Interface in obyekti yaradilmaz.
Abstrakt sinif Interface-den implements edildikde bu sinif Interface daxilindeki abstrakt metodlari override etmelidirmi?Cavab:yox.
Cunki interface ve abstrakt siniflerin esas meqsedi oz alt siniflerine govdesiz metodlarini override etdirmekdir.
public void ovla();
}
public abstract class Pisik implements Heyvan{
public abstract void suic();
}
public class Aslan extends Pisik{
@Override
public void suic() {
System.out.println("Aslan su icir"); }
@Override
public void ovla() {
System.out.println("Aslan ovlayir");
}
}
Gorunduyu kimi Pisik abstrakat sinifi Heyvan Interface-si daxilindeki ovla() metodunu override etmek mecburiyyetinde deyildir. Amma Aslan sinifi Pisik abstrakt sinifinin ve Heyvan interface sinin alt sinifi oldugu ucun o mecburi olaraq ovla() ve suic() metodlarini override etmelidir.
Sinif sinifden extends edildiyi kimi Interface de Interfaceden extends edillir.Javada sinif yalniz bir sinifden extends olunur.Yeni "Javada bir sinifin yalniz bir anasi ola biler" .Amma Interface ise bele deyil.
public interface InterfaceA {
public void Java();
}
public interface InterfaceB {
public void Paskal();
}
public interface InterfaceC extends InterfaceB,InterfaceA{
public void C();
}
public class Test implements InterfaceC {
@Override
public void C() {
System.out.println("C 1970 de yaranan funksional programlasdirma dilidir ");
}
@Override
public void Paskal() {
System.out.println("Paskal 1968-1971 de yaranan prosedur programlsama dilidir");
}
@Override
public void Java() {
System.out.println("Java 1990 ilde yaranan Obyekt Yonlu Programlasma(OOP) dilidir");
}
public static void main(String[] args) {
Test test=new Test();
test.Paskal();
test.C();
test.Java();
}
}
Netice:
Paskal 1968-1971 de yaranan prosedur programlsama dilidir
C 1970 de yaranan funksional programlasdirma dilidir
Java 1990 ilde yaranan Obyekt Yonlu Programlasma(OOP) dilidir
Indi ise 3 sinifi Interface-e implements edib Poliformizmden istifade ederek sade bir program yazaq:
public interface Calisan {
public void calis();
}
public class Mudur implements Calisan {
@Override
public void calis() {
System.out.println("Mudur calisir");
}
}
public class MudurMuavini implements Calisan {
@Override
public void calis() {
System.out.println("MudurMuavini calisir");
}
}
public class Programci implements Calisan {
@Override
public void calis() {
System.out.println("Programci calisir");
}
}
public class IsYeri {
public static void Isebasla(Calisan[] c) {
for (int i = 0; i < c.length; i++) {
c[i].calis();
}
}
public static void main(String[] args) {
Calisan[] c = new Calisan[3];
c[0] = new Mudur();
c[1] = new MudurMuavini();
c[2] = new Programci();
Isebasla(c);
}
}
Netice :
Mudur calisir
MudurMuavini calisir
Programci calisir
ABSTRAKT SINIFLER
Abstrakt sinifler adi siniflerden ferqlenir.Teyin olunarken qarsisinda abstrakt isci sozu yazilir.bunlarin obyekti birbasa new sozu ile yaradilmaz.Bir sinifin abstrakt olmasi ucun onun daxilinde en azi bir abstrakt metod olmalidir.Hec bir is gormeyen yeni , govdesiz metoda abstrakt metod deyilir.Abstract bir sinifden extends olunan altsinifller bu abstract sinifin icindeki butun abstrakt metodlari mutleq override etmelidir. Abstract siniflerin Javada esas vezifesi birlesdirici rol oynamasidir.Asagidaki numuneye baxaq:
public abstract class Calisan {
public abstract void calis();
public void istirahetEt(){
System.out.println("Istirahet vaxti");
@Override
public void calis() {
System.out.println("Mudur calisir");
}
}
public class MudurMuavini extends Calisan {
@Override
public void calis() {
System.out.println("MudurMuavini calisir");
}
}
public class Programci extends Calisan {
@Override
public void calis() {
System.out.println("Programci calisir");
}
}
public class IsYeri {
public static void Isebasla(Calisan[] c){
for (int i = 0; i < c.length; i++) {
c[i].calis();
}
}
public static void main(String[] args) {
Calisan[] c=new Calisan[3];
c[0]=new Mudur();
c[1]=new MudurMuavini();
c[2]=new Programci();
Isebasla(c);
}
}
Belece Abstract bir sinifden extends olunan altsinifllerin obyekti asanliqla Abstract sinif tipinde olan referansa baglanir ve polimorfizm ve gec baglanmanin istifadesi mumkun olur.
Abstrakt sinifler adi siniflerden ferqlenir.Teyin olunarken qarsisinda abstrakt isci sozu yazilir.bunlarin obyekti birbasa new sozu ile yaradilmaz.Bir sinifin abstrakt olmasi ucun onun daxilinde en azi bir abstrakt metod olmalidir.Hec bir is gormeyen yeni , govdesiz metoda abstrakt metod deyilir.Abstract bir sinifden extends olunan altsinifller bu abstract sinifin icindeki butun abstrakt metodlari mutleq override etmelidir. Abstract siniflerin Javada esas vezifesi birlesdirici rol oynamasidir.Asagidaki numuneye baxaq:
public abstract class Calisan {
public abstract void calis();
public void istirahetEt(){
System.out.println("Istirahet vaxti");
}
}
public class Mudur extends Calisan {}
@Override
public void calis() {
System.out.println("Mudur calisir");
}
}
public class MudurMuavini extends Calisan {
@Override
public void calis() {
System.out.println("MudurMuavini calisir");
}
}
public class Programci extends Calisan {
@Override
public void calis() {
System.out.println("Programci calisir");
}
}
public class IsYeri {
public static void Isebasla(Calisan[] c){
for (int i = 0; i < c.length; i++) {
c[i].calis();
}
}
public static void main(String[] args) {
Calisan[] c=new Calisan[3];
c[0]=new Mudur();
c[1]=new MudurMuavini();
c[2]=new Programci();
Isebasla(c);
}
}
Belece Abstract bir sinifden extends olunan altsinifllerin obyekti asanliqla Abstract sinif tipinde olan referansa baglanir ve polimorfizm ve gec baglanmanin istifadesi mumkun olur.
Kaydol:
Kayıtlar (Atom)