Language inheritance and Xbase

Hi
Say that I have an extension of Xbase, call it XB1, with a new
expression, and thus, with a custom type computer and custom xbase
compiler handling the new expression, and then are specified in the
runtime module.
Now I define a new language XB2 which inherits from XB1. I just
realized that the runtime module for XB2 does not inherit from the one
of XB1, so the bindings for the xbase compiler and the xbase type
computer must be explicitly redefined in the runtime module of XB2.
I guess this manual specification in the runtime module cannot be
avoided, can it?
thanks in advance
Lorenzo
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Xtext Book:
http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book

On 30/07/2015 19:03, Sebastian Zarnekow wrote:
> Hi Lorenzo,
>
> there is no built-in facility to avoid that. You could extract the
> necessary bindings into an own module and call that one from all your
> runtime modules by means of binder.install(..)
>
> Best,
> Sebastian
Hi Sebastian
thanks for the suggestion, but that won't work for bindings that have
already been defined in the generated abstract runtime module...
If I understand correctly what you're suggesting, you say (recall XB2
inherits from XB1 which has some custom Xbase classes, like type
computer, compiler, etc, that I want XB2 to reuse):
public class XB2RuntimeModule extends
xjbase.example.purexjbase.AbstractXB2RuntimeModule {
@Override
public void configure(Binder binder) {
super.configure(binder);
binder.install(new XB1InstallableRuntimeModule());
where XB1InstallableRuntimeModule has bindings of the shape
public Class<? extends IGenerator> bindIGenerator() {
return XB1JvmModelGenerator.class;
public Class<? extends XbaseCompiler> bindXbaseCompiler() {
return XB1XbaseCompiler.class;
is that right?
So XB1InstallableRuntimeModule has only the bindings for the Xbase
custom components.
Unfortunately this will generate runtime errors since Guice will
complain that a binding for IGenerator is already defined (indeed it's
in the AbstractXB2RuntimeModule), while it works for bindXbaseCompiler
since there's no explicit binding for that.
As an alternative solution I override XB2StandaloneSetup.createInjector
as follows
@Override
public Injector createInjector() {
return Guice.createInjector(
Modules2.mixin(
new XB2RuntimeModule(),
new XB1InstallableRuntimeModule()));
and this works! :)
Does this make sense?
thanks in advance
cheers
Lorenzo
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Xtext Book:
http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book

Similar Messages

  • Inheritance and access control - "private protected"

    I'm reopening an old topic, seems to have been last discussed here 2-3 years ago.
    It concerns the concept of restricting access to class members to itself, and its subclasses. This is what "protected" does in C++ and "private protected" did in early versions of the Java language. This feature was removed from Java with a motivation along the lines of not being "simple", and "linear" (in line with the other access modes, each being a true subset of the next). Unfortunately, the article which explained Sun's position on this keyword combination seems to have been removed from the site, so I haven't been able to read its original text.
    But regardless of simplicity of implementation or explaining Java's access modifiers to newbies, I believe it is a fundamental part of OO programming for such an access mode to exist. The arguments for having the standard "private" mode in fact also apply for having a C++-style "protected" mode. (Arguing that classes within a package are related and it therefore doesn't hurt to also give them access to Java's "protected" members, is equally arguing that "private" is unneccessary, which noone of course believes.)
    The whole concept of inheritance and polymorphism and encapsulation builds on the access modes private, protected, and public (in the C++ senses). In Java the "package" concept was added - a nice feature! But I see no justification for it to negate the proper encapsulation of a class and its specializations.

    What effect upon inheritance other than hiding members
    from subclasses is there?
    None. And I cant think of another declaration that prevents members from being inherited but private.
    Of course the onus comes on the programmer with Java's
    definition of "protected" - but
    1) there is rarely a single programmer working within
    a package
    The point was the package is a unit which does not hide from itself. Just like all methods within a class can see each other, all classes within a package can, and all packages within a program can.
    2) it muddies the encapsulation in the design - when
    you see a "protected" method someone else, or yourself
    some time ago - wrote, how do you know if the design
    intention is to have it accessed solely by the class
    and its subclasses, or if it is indeed intended to be
    shared with the whole package? The only way to do
    this today is to always explicitly specify this in the
    comments, which may be lacking, inconsistent, and
    abused (since it isn't enforced).Encapsulation would be implementation hiding. Not method hiding. The only thing you should probably allow out of your package is an interface and a factory anyway.
    I understand where you are coming from, but I really have not had occasion to take issue with it. I can't think of a real codeing situation where this is required. OTOH, I can't think of a coding situation where I need to access a protected method from another class either.

  • A question about inheritance and overwriting

    Hello,
    My question is a bit complicated, so let's first explain the situation with a little pseudo code:
    class A {...}
    class B extends A{...}
    class C extends B {...}
    class D extends C {...}
    class E extends B {...}
    class F {
      ArrayList objects; // contains only objects of classes A to E
      void updateObjects() {
        for(int i = 0; i < objects.size(); i++)
          A object = (A) objects.get(i); // A as superclass
         update(A);
      void update(A object) { ... }
      void update(B object) { ... }
      void update(D object) { ... }
    }My question now:
    For all objects in the objects list the update(? object) method is called. Is it now called with parameter class A each time because the object was casted to A before, or is Java looking for the best fitting routine depending on the objects real class?
    Regards,
    Kai

    Why extends is evil
    Improve your code by replacing concrete base classes with interfaces
    Summary
    Most good designers avoid implementation inheritance (the extends relationship) like the plague. As much as 80 percent of your code should be written entirely in terms of interfaces, not concrete base classes. The Gang of Four Design Patterns book, in fact, is largely about how to replace implementation inheritance with interface inheritance. This article describes why designers have such odd beliefs. (2,300 words; August 1, 2003)
    By Allen Holub
    http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-toolbox.html
    Reveal the magic behind subtype polymorphism
    Behold polymorphism from a type-oriented point of view
    http://www.javaworld.com/javaworld/jw-04-2001/jw-0413-polymorph_p.html
    Summary
    Java developers all too often associate the term polymorphism with an object's ability to magically execute correct method behavior at appropriate points in a program. That behavior is usually associated with overriding inherited class method implementations. However, a careful examination of polymorphism demystifies the magic and reveals that polymorphic behavior is best understood in terms of type, rather than as dependent on overriding implementation inheritance. That understanding allows developers to fully take advantage of polymorphism. (3,600 words) By Wm. Paul Rogers
    multiple inheritance and interfaces
    http://www.javaworld.com/javaqa/2002-07/02-qa-0719-multinheritance.html
    http://java.sun.com/docs/books/tutorial/java/interpack/interfaceDef.html
    http://www.artima.com/intv/abcs.html
    http://www.artima.com/designtechniques/interfaces.html
    http://www.javaworld.com/javaqa/2001-03/02-qa-0323-diamond_p.html
    http://csis.pace.edu/~bergin/patterns/multipleinheritance.html
    http://www.cs.rice.edu/~cork/teachjava/2002/notes/current/node48.html
    http://www.cyberdyne-object-sys.com/oofaq2/DynInh.htm
    http://www.gotw.ca/gotw/037.htm
    http://www.javajunkies.org/index.pl?lastnode_id=2826&node_id=2842
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=1&t=001588
    http://pbl.cc.gatech.edu/cs170/75
    Downcasting and run-time
    http://www.codeguru.com/java/tij/tij0083.shtml
    type identification
    Since you lose the specific type information via an upcast (moving up the inheritance hierarchy), it makes sense that to retrieve the type information ? that is, to move back down the inheritance hierarchy ? you use a downcast. However, you know an upcast is always safe; the base class cannot have a bigger interface than the derived class, therefore every message you send through the base class interface is guaranteed to be accepted. But with a downcast, you don?t really know that a shape (for example) is actually a circle. It could instead be a triangle or square or some other type.
    To solve this problem there must be some way to guarantee that a downcast is correct, so you won?t accidentally cast to the wrong type and then send a message that the object can?t accept. This would be quite unsafe.
    In some languages (like C++) you must perform a special operation in order to get a type-safe downcast, but in Java every cast is checked! So even though it looks like you?re just performing an ordinary parenthesized cast, at run time this cast is checked to ensure that it is in fact the type you think it is. If it isn?t, you get a ClassCastException. This act of checking types at run time is called run-time type identification (RTTI). The following example demonstrates the behavior of RTTI:
    //: RTTI.java
    // Downcasting & Run-Time Type
    // Identification (RTTI)
    import java.util.*;
    class Useful {
    public void f() {}
    public void g() {}
    class MoreUseful extends Useful {
    public void f() {}
    public void g() {}
    public void u() {}
    public void v() {}
    public void w() {}
    public class RTTI {
    public static void main(String[] args) {
    Useful[] x = {
    new Useful(),
    new MoreUseful()
    x[0].f();
    x[1].g();
    // Compile-time: method not found in Useful:
    //! x[1].u();
    ((MoreUseful)x[1]).u(); // Downcast/RTTI
    ((MoreUseful)x[0]).u(); // Exception thrown
    } ///:~
    As in the diagram, MoreUseful extends the interface of Useful. But since it?s inherited, it can also be upcast to a Useful. You can see this happening in the initialization of the array x in main( ). Since both objects in the array are of class Useful, you can send the f( ) and g( ) methods to both, and if you try to call u( ) (which exists only in MoreUseful) you?ll get a compile-time error message.
    If you want to access the extended interface of a MoreUseful object, you can try to downcast. If it?s the correct type, it will be successful. Otherwise, you?ll get a ClassCastException. You don?t need to write any special code for this exception, since it indicates a programmer error that could happen anywhere in a program.
    There?s more to RTTI than a simple cast. For example, there?s a way to see what type you?re dealing with before you try to downcast it. All of Chapter 11 is devoted to the study of different aspects of Java run-time type identification.
    One common principle used to determine when inheritence is being applied correctly is the Liskov Substitution Principle (LSP). This states that an instance of a subclass should be substitutible for an instance of the base class in all circumstances. If not, then it is generally inappropriate to use inheritence - or at least not without properly re-distributing responsibilities across your classes.
    Another common mistake with inheritence are definitions like Employee and Customer as subclasses of People (or whatever). In these cases, it is generally better to employ the Party-Roll pattern where a Person and an Organization or types of Party and a party can be associated with other entities via separate Role classes of which Employee and Customer are two examples.

  • Inheriting and the "super" keyword

    I found a case where "super" is not working as I understand it should...
    Can someone explain me the underlying theory that makes JAVA behave this way??
    public class Base {
         public void method1() {
              System.out.println("method1 from \"Base\" class. About to call method2.");
              method2();
         public void method2() {
              System.out.println("method2 from \"Base\" class. About to call method3.");
              method3();
         public void method3() {
              System.out.println("method3 from \"Base\" class.");
    public class Extension extends Base {
         @Override
         public void method1(){
              System.out.println("method1 from \"Extension\" class. About to call super.method2.");
              super.method2();          
         @Override
         public void method2(){
              System.out.println("method2 from \"Extension\" class. About to call method3.");
              method3();          
         @Override
         public void method3(){
              System.out.println("method3 from \"Extension\" class.");                    
    public class Main {
         public static void main(String args[]) {
              System.out.println("In \"The Java Programming Language,\n" +
                        "Fourth Edition By Ken Arnold, James Gosling, David Holmes\"\n"+
                        "chapter: 3.3: \"Inheriting and Redefining Members\""+
                        " says:");
              System.out.println("Using super is the only case in which the type of\n" +
                        "the reference governs selection of the method implementation\n" +
                        "to be used. An invocation of super.method always uses the\n" +
                        "implementation of method the superclass defines (or\n" +
                        "inherits). It does not use any overriding implementation of\n" +
                        "that method further down the class hierarchy.\n");
              System.out.println("But by running this code, i get:");
              System.out.println("------------------------------------------");          
              Extension ext = new Extension();
              ext.method1();          
              System.out.println("------------------------------------------");
              System.out.println("\nWHY??? I was expecting:\n"+
                        "method1 from \"Extension\" class. About to call super.method2.\n" +
                        "method2 from \"Base\" class. About to call method3.\n" +
                        "method3 from \"Base\" class.");          
    THANKS!!

    IgnacioKriche wrote:
    But I used "super", so this means to use the methods of the super class and I understand that a method called within another, is part of this last one. this is:
    if inside method 'x', method 'y' is called, then 'y' is part of 'x' . Agree? And therefore since I am using super I'm saying use 'x' method from super class since 'y' is part of 'x' then super applies for 'y' as well so what is method from the extended class doing here? It's like we have a mix between the 'x' from super and 'y' from the extended. Something like super only applies for the first level not at a deeper level (a method called from another)No. Just because the base class method2() invokes method3() does NOT mean it will always invoke base's version of method3. If it did that, then polymorphism would definitely be broken.
    You explicitly invoked super.method2(), so that told the compiler to explicitly use the base class version of that method. But then method2 in the base class invokes method3(). That ends up invoking the overridden version in the subclass, by design, because afterall the actual object whose methods are being executed is a subclass instance. If it didn't do that, then polymorphism would be broken for everyone else.
    If you think you need the behavior you are looking for, you are just designing it wrong in the first place.

  • Language Inheritance

    Hi All,
    Do we need to configure  the Primary and Secondary language any where in the console?
    Let's take an example i have English[US] -
    Current language  (Data maintaining in the repository in this language)
    I have 4 more languages which are English[UK] --- Data Not maintaing
    German ---data maintaining
    French --- Data Not Maintaining
    Russian---data not maintaining
    In this scenario  do i need to set up anything to take the English[US] -
    Primary Inheritance to English[UK]
    the same case with German and French .
    German -
    Primary Inheritance to ---French
    English[US] Secondary Inheritance to Russian
    Please let me know ASAP.

    Hi Priya,
                  Language inheritance is set for each language, and is defined by the administrator as the ordering of all the other languages of the repository, split into: (1) primary inheritance (for languages whose values are close enough to the current language to be acceptable for publishing); and (2)
    secondary inheritance (for languages whose values are too different from the current language to be acceptable for publishing, but are perhaps useful during data entry and/or translation).
    Inheritance of data within MDM client applications is based on the language-specific ordering for the language you choose when you first connect to the repository, inheritance of metadata within the MDM Console is based on the primary language and the repository-specific language ordering defined for each MDM repository .
    MDM client applications display: (1) actual values from the
    current language; (2) primary inherited values; and (3) secondary inherited values. By contrast, a published catalog (e.g. an electronic Web catalog or a printed catalog) is likely to display only: (4) actual values; and (5) primary inherited values; but (6) hide secondary inherited values, which are displayed in the MDM client applications only for context during data entry and/or to assist in translation.
    Consider a repository with three language layers: (1) English [US]; (2) English [UK]; and (3) German [DE]. Both English values are typically the same, so you can set the value for one version of English and allow the other to inherit it. However, you donu2019t want the English languages to inherit German or vice versa.
    In the above scenario if we take Language English[US] then its Primary Inheritance will be English [UK] and its seconday Inheritance will be German[DE] , similarly for English[UK] primary Inheritance will be English[US] and secondary Inheritance will be Greman[DE] and now since for German we don`t dont want any primary Inheritance so in that case its Primary Inheritance will be None and its Secondary Inheritance will be both English[US] and English[UK].
    Hope this would be helpful..
    If helpful do reward Points!!!!!!!!!!!!
    Regards,
    Parul

  • Difference between inheritance and abstract class

    difference between inheritance and abstract class

    See this thread:
    http://forum.java.sun.com/thread.jspa?forumID=24&threadID=663657
    And before Post New Topic, just search in this forums. All most will get answers.

  • Problem with inheritance and outputting values in toString.

    Hey guys, i'm having a major problem with inheritances.
    What i'm trying to do with my program is to create objects in my demo class. Values are passed to several other objects that each do their own calculations of grades and results and then outputs the result in my toString. I followed step by step the instructions in my book on how to setup the inheritance and such. I can only output everything that was created in my superclass, any other thing that was created in an object that belongs to a subclass does not display in the output at all.
    Even if I change or create new instance variables, I can't figure out for the life of myself how to output the other values.
    Because there's so much code to be splitting on the forums, I zipped my whole project in a RAR. I'll link it here
    http://www.4shared.com/file/ZleBitzP/Assign7.html
    The file to run the program is CourseGradesDemo class, everything else is either a subclass or superclass to some part of the program. After you run CourseGradesDemo, you will see the output, and understand what displays and what stays at 0.0 value. If anyone can help me out with this it would be greatly appreciated
    Thanks in advance.

    Basshunter36 wrote:
    Hey guys, i'm having a major problem with inheritances.
    What i'm trying to do with my program is to create objects in my demo class. Values are passed to several other objects that each do their own calculations of grades and results and then outputs the result in my toString. I followed step by step the instructions in my book on how to setup the inheritance and such. I can only output everything that was created in my superclass, any other thing that was created in an object that belongs to a subclass does not display in the output at all.
    Even if I change or create new instance variables, I can't figure out for the life of myself how to output the other values.No idea what you're talking about. Provide an [url http://sscce.org]SSCCE.
    Because there's so much code to be splitting on the forums, I zipped my whole project in a RAR. I'll link it here
    http://www.4shared.com/file/ZleBitzP/Assign7.html
    Not gonna happen. Provide an [url http://sscce.org]SSCCE. And don't say you can't. You definitely can. You may have to spend an hour building a new program from scratch and getting it to reproduce the problem, but if you can't or won't do that, you'll find few people here willing to bother with it.

  • Custom report to work in different languages EN and ZH.

    Hi,
    I wrote the report which has to work on languages EN and ZH(chinese language).
    It is working fine in EN, When I login with language 'ZH', the selecion screen is not displaying in Chinese language. Is there anything to do to display the selection screen in ZH language?
    When I change the text elements and selecion texts in report in ZH language, it is reflecting the same for EN language as well.
    Is there anything to do to solve this?
    Thanks
    Deepthi

    Hi,
    Did you maintaied the Translations for that text...
    if not try this ...T.Code: SE63 and follow the below path
    Translation >R/3 Enterprise> Short Texts --> S3-ABAP Texts --> REPT Text Elements
    Then give the Program name as an Object Name and Chooses the languages..
    There you can Translate all the required texts for that program.
    Thanks
    shankar

  • I reset and erased my iphone 4 and now I can`t reinstall it! After I choose a language, region. and wifi, it says Please, try again later or contact customer care

    I reset and erased my iphone 4 and now I can`t reinstall it! After I choose a language, region. and wifi, it says Please, try again later or contact customer care. I tried to do with iTunes, and iTunes even sees this iphone, but it`s like blank, there is nothing I can do in iTunes. It uploaded last software for this iPhone 4, but when it tries to do the reserve copy of iphone first, it shows a mistake. And ask to disconnect and connect the device again, which, obviously, doesn`t help.

    This usually happens if the phone has been Hacked / Jailbroken / Modified...
    Is this the case...?
    If so...
    Then... Sorry... But...
    The discussion of Jailbroken Devices is against the Terms of Use of this Forum.
    You will need to look elsewhere.
    Unauthorized modification of iOS
    http://support.apple.com/kb/HT3743

  • Problems Report: Yosemite Language/Region and iOS 8.0.2 Bluetooth

    OS X YOSEMITE LANGUAGE/REGION PROBLEM:
    Since I installed OS X Yosemite (10.10) on my 13 inch Macbook Pro Retina Late 2013, my Finder's Favorites and Tags appears in two different languages (English and Portuguese). I am from Brazil, however, I use my system in English. Whereas I set my language to English, my Finder should appear only in English.
    As you can see, until Desktop option is in English, below it, everything is in Portuguese. Note that in Mavericks everything appeared in English as it should be. Same for the Tags, which is "Vermelho" instead of "Red" and so on, but "All tags" appears in English, instead of Portuguese.
    Please Apple, do not forget to correct it for the next upgrade!
    iOS 8.0.2 BLUETOOTH PROBLEM:
    Another problem I want to report is my iPhone 5S (iOS 8.0.2) Bluetooth connection, which has a big issue. Since iOS 8.0.2 upgrade, I could not use my Bluetooth anymore. My device can be found from other devices, such as my Macbook Pro, for example, however, I am not able to pair or even find any other device from my iPhone to others.
    Hence, I am not able to use Handoff, connect to the car's DVD player, Headphones and so on.
    What is going on there, Apple? Both this problems are amateurs. What is happening with the Test Software Engineering phase.
    I was wondering if it would be possible to see some great news about both of this issues as soon as possible.
    Thanks in advance for any further help from you guys.

    OS X YOSEMITE LANGUAGE/REGION PROBLEM:
    Since I installed OS X Yosemite (10.10) on my 13 inch Macbook Pro Retina Late 2013, my Finder's Favorites and Tags appears in two different languages (English and Portuguese). I am from Brazil, however, I use my system in English. Whereas I set my language to English, my Finder should appear only in English.
    As you can see, until Desktop option is in English, below it, everything is in Portuguese. Note that in Mavericks everything appeared in English as it should be. Same for the Tags, which is "Vermelho" instead of "Red" and so on, but "All tags" appears in English, instead of Portuguese.
    Please Apple, do not forget to correct it for the next upgrade!
    iOS 8.0.2 BLUETOOTH PROBLEM:
    Another problem I want to report is my iPhone 5S (iOS 8.0.2) Bluetooth connection, which has a big issue. Since iOS 8.0.2 upgrade, I could not use my Bluetooth anymore. My device can be found from other devices, such as my Macbook Pro, for example, however, I am not able to pair or even find any other device from my iPhone to others.
    Hence, I am not able to use Handoff, connect to the car's DVD player, Headphones and so on.
    What is going on there, Apple? Both this problems are amateurs. What is happening with the Test Software Engineering phase.
    I was wondering if it would be possible to see some great news about both of this issues as soon as possible.
    Thanks in advance for any further help from you guys.

  • My macbook is stuck on a grey screen with language select and every time i click english it brings me back to the same gray page what do i do?

    My macbook Pro is stuck on a grey screen with language select and every time i click english it brings me back to the same gray page with language select what do i do? Also i dont have enough monet to go to the apple store to get it fix and another thing this happen after i tried to factory reset it without the disck uising coomans i found on youtube.Lastly befor doing the comands my macbook would open any applications and the finder would just blink on and off on the dock.
    Heres the link http://www.youtube.com/watch?v=Q5e5thk0O9o

    Shut down your computer and disconnect all peripherals (keyboard & mouse if pertinent) from your computer.  Now reboot.
    If the Mac starts up normally, shut it down again and then plug in one of the peripherals (keyboard or mouse first) and start up your computer again.  If it does so successfully repeat the process, adding one peripheral at a time until your Mac acts up.  At that point, disconnect the last peripheral you added, reboot your Mac and search the peripheral vendor's website for an updated driver. 
    If no driver exists or the problem remain after installing the new driver, try a different cable or a different port on your Mac.
    If none of the above works, again disconnect all peripherals from your Mac, hold down the "shift" key to start up in "Safe Boot" mode. 
    If the Mac starts up correctly, restart without pressing the "shift" key.
    If your computer still does not start up properly, shut it down and restart it while holding down the Apple+Option-P-R keys; keep holding "all 4 keys" down until you hear the startup sound "twice."
    If none of the above work Disconnect all peripherals from your computer. Boot from your install disc & run Repair Disk from the utility menu. To use the Install Mac OS X disc, insert the disc, and restart your computer while holding down the C key as it starts up.
    Select your language.
    Once on the desktop, select Utility in the menu bar.
    Select Disk Utility.
    Select the disk or volume in the list of disks and volumes, and then click First Aid.
    Click Repair Disk.
    (If Disk Utility cannot repair, you will need a stronger utility (3rd party) - Diskwarrior or Techtool PRO)
    Restart your computer when done.
    Repair permissions after you reach the desktop-http://docs.info.apple.com/article.html?artnum=25751 and restart your computer.
    Remove any 3rd party ram.
    Reinstall Leopard - This will install a "fresh" copy Leopard without archiving old system files but leaves the rest of your files in place.
    If you still want to restore your computer to factory level...
    Start up from your install disc, go to Disk Utility and select the disk and click erase - to securely erase data click Security Options and Erase Free Space which will entirely wipe your disk, overwriting it with zeros so that no data is recoverable.
    To restore read the instructions in the Mac OS X v10.5 Leopard - Installation and Setup Guide  PDF

  • How to install photoshop cc in several languages, Spanish and English

    How to install photoshop cc in several languages, Spanish and English, I've searched the forums, and I have not been able to make or find would be so kind as to explain how I can do, thank you very much

    In
    Re: Change language?
    PECourtejoie posted this Link:
    Installing Multiple Languages of a Desktop Application | CS6 & Creative Cloud Feature Tour for Design | Adobe TV

  • I know c,c++ and java language ! and i want to contribute for development of mozilla products ! any idea where i can find beginner level projects ?

    I know c,c++ and java language ! and i want to contribute for development of mozilla products ! any idea where i can find beginner level projects ! so that i can hone some real development skills too :)

    You could also try jumping in on some of the Mozilla IRC chat channels as was suggested to someone else in another thread.
    Also you could also try the [/forums/buddies new contributors forum], it does now have an Admin monitoring and replying. (At the time of the quoted post Admins were almost impossible to get hold of for forum matters )
    ''Noah_SUMO [/forums/buddies/710569#post-61671 said]''
    <blockquote>
    Sorry I didn't see this earlier. :)
    I know just the places where I think you'd fit in best. To make sure, just join us in #sumodev and #mozwebqa and #communityit at irc://irc.mozilla.org
    I think your skills in php, javascript, python and server admin-y stuff will come in real handy at these places. :D
    For example, some help is needed here to fix these tests after a new theme was added to wiki.mozilla.org and they are in python. https://github.com/mozilla/wiki-tests - more info in #mozwebqa
    And maybe some help with perl might be needed with firebot, a irc bot written in perl. Channel #firebot for that.
    And #communityit (for server admin stuff) and #sumodev could use some help as well, just pop in and ask. :)
    </blockquote>
    Also see
    * [[Contributor News & Resources#w_communication-channels]]_communication-channels
    ** Mibbit link (this one for #sumo channel ) https://www.mibbit.com/?server=irc.mozilla.org&channel=%23sumo
    P.S. and see
    * https://wiki.mozilla.org/Good_first_bug

  • When to use inheritance and When to use Composition

    java support both inheratiance and composition .I also know "is a" and
    "has a realitionship" but there is always a problem with me to understanding whethere i have to use extends or having a object of a class has a member of othere class.
    and also "A pure OOP must support polimorphisim,inheretiance,encapluction,Abstraction and Composition" correct me if i am wrong
    thank you and have a nice day.

    Bruce Eckel, author of Thinking In Java, has this to say about composition vs. inheritance:
    When deciding between inheritance and composition, ask if you need to upcast to the base type. If not, prefer composition (member objects) to inheritance. This can eliminate the perceived need for multiple base types. If you inherit, users will think they are supposed to upcast.
    Choose composition first when creating new classes from existing classes. You should only used inheritance if it is required by your design. If you use inheritance where composition will work, your designs will become needlessly complicated.
    Bill Venners: Composition versus Inheritance
    Use inheritance (of implementation) only when the class satisfies the following criteria:
    1) "Is a special kind of," not "is a role played by a";
    2) Never needs to transmute to be an object in some other class;
    3) Extends rather than overrides or nullifies superclass;
    4) Does not subclass what is merely a utility class (useful functionality you'd like to reuse); and
    5) Within PD: expresses special kinds of roles, transactions, or things.
    -- from Java Design: Building Better Apps and Applets (2nd Edition), by Peter Coad and Mark Mayfield

  • When to use inheritance and when not to?

    I've just been trying find out when to use inheritance and when not to use inheritance? I know that inheritance gives advantages such as code reuse and maintainability. But when are their times not to use inheritance that may effect the design of a project?
    Also when should one consider aggregation over inheritance(is-a relationship)?
    thanks,
    plandis

    Hi
    Answering this question usually requires a few books, so, I'm sorry, it's not really as simple as choosing between using a screwdriver vs. a hammer.
    But, very short, inheritance should ideally only be used when there exist a strict 'is-a' relationship. However, sometimes it may be clever to inherit when you have a 'is-almost-a' relationship... And sometimes this is a stupid move. This depends on the context/circumstances.
    Aggregation is normally considered a 'has-a' relationship, thereby differing clearly from inheritance. The old 'car' model says "a car is-a vehicle and has-some (at least) wheels."
    The wheels are aggregated to the car class, that itself is inherited from vehicle.
    However, this is just a good rule-of-thumb and there may be circumstantial reasons for not following these guidelines.

Maybe you are looking for

  • HOW DO I START WITH A BLANK FLYER TEMPLATE?

    I would like to create a flyer but I don't know how to get rid of the writing on the templates and put in my own stuff.  Is there a way to start with a blank layout of a flyer?

  • Xml formatting (pretty print, etc)

    Our MXML is getting a bit messy. (we also need a pretty printer and simple xml exploration and editing) for soap feeds. 1. Is there something in Eclipse now that does this? 2. Is there a publicly available plug-in 3. Is there some simple (i.e. cheap

  • Promotional Trade In Shipping Materials still not received - multiple requests!

    I've been requesting the shipping material for my $200 iPhone promotional trade in since September 29th.  I've visited the store to inquire once, used the contact us email at least 3 recorded times, and called the provided phone number 3 times as wel

  • Posting from Top Level WBSE to AUC

    Hi Friends, I am facing problem in doing settlement from Top level WBSE to AUC. I feel I have done the required settings. I am not able to generate settlement rule for the top level WBSE. Please help me out. I would appreciate some screen-shot help f

  • I can't get service after acdtivation

    I just activated my phone and have no service.  I can't receive a text or call due to no service.  Can I chat about the problem without being able to receive a text or email?